<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>404页面</title>
<style id="applicationStylesheet" type="text/css">
	.mediaViewInfo {
		--web-view-name: 404页面;
		--web-view-id: ID404__;
		--web-scale-on-resize: true;
		--web-enable-deep-linking: true;
	}
	:root {
		--web-view-ids: ID404__;
	}
	* {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
		border: none;
	}
	#ID404__ {
		position: absolute;
		width: 1920px;
		height: 1080px;
		background-color: rgba(255,255,255,1);
		overflow: hidden;
		--web-view-name: 404页面;
		--web-view-id: ID404__;
		--web-scale-on-resize: true;
		--web-enable-deep-linking: true;
	}
	#__43 {
		position: absolute;
		width: 600px;
		height: 319.243px;
		left: 660px;
		top: 189.764px;
		overflow: visible;
	}
	#ID404 {
		position: absolute;
		left: 204.004px;
		top: 186.24px;
		overflow: visible;
		width: 189px;
		white-space: nowrap;
		text-align: center;
		font-family: Bahnschrift;
		font-style: normal;
		font-weight: bold;
		font-size: 111px;
		color: rgba(2,2,4,1);
	}
	#____________ {
		opacity: 0.5;
		position: absolute;
		left: 209.313px;
		top: 301.243px;
		overflow: visible;
		width: 157px;
		white-space: nowrap;
		text-align: center;
		font-family: PingFang SC;
		font-style: normal;
		font-weight: normal;
		font-size: 13px;
		color: rgba(2,2,4,1);
	}
	#___79 {
		opacity: 0.91;
	}
	.___79 {
		overflow: visible;
		position: absolute;
		width: 24.279px;
		height: 36.437px;
		left: 132.43px;
		top: 67.793px;
		transform: matrix(1,0,0,1,0,0);
	}
	#___80 {
		opacity: 0.76;
	}
	.___80 {
		overflow: visible;
		position: absolute;
		width: 21.437px;
		height: 32.101px;
		left: 453.444px;
		top: 54.112px;
		transform: matrix(1,0,0,1,0,0);
	}
	#___84 {
		opacity: 0.91;
	}
	.___84 {
		overflow: visible;
		position: absolute;
		width: 11.394px;
		height: 16.608px;
		left: 89.173px;
		top: 184.23px;
		transform: matrix(1,0,0,1,0,0);
	}
	#___115 {
		opacity: 0.33;
	}
	.___115 {
		overflow: visible;
		position: absolute;
		width: 5.697px;
		height: 8.304px;
		left: 69.171px;
		top: 83.168px;
		transform: matrix(1,0,0,1,0,0);
	}
	#___86 {
		opacity: 0.76;
	}
	.___86 {
		overflow: visible;
		position: absolute;
		width: 11.394px;
		height: 16.608px;
		left: 453.387px;
		top: 176.254px;
		transform: matrix(1,0,0,1,0,0);
	}
	#___87 {
		opacity: 0.76;
	}
	.___87 {
		overflow: visible;
		position: absolute;
		width: 11.393px;
		height: 16.684px;
		left: 588.607px;
		top: 74.647px;
		transform: matrix(1,0,0,1,0,0);
	}
	#__38 {
		position: absolute;
		width: 123.961px;
		height: 91.609px;
		left: 239.648px;
		top: 66.77px;
		overflow: visible;
	}
	.___3 {
		position: absolute;
		overflow: visible;
		width: 89.881px;
		height: 89.323px;
		left: 11.461px;
		top: 0px;
	}
	.___88 {
		overflow: visible;
		position: absolute;
		width: 14.763px;
		height: 14.348px;
		left: 66.917px;
		top: 12.398px;
		transform: matrix(1,0,0,1,0,0);
	}
	.___89 {
		overflow: visible;
		position: absolute;
		width: 5.502px;
		height: 5.502px;
		left: 39.02px;
		top: 27.566px;
		transform: matrix(1,0,0,1,0,0);
	}
	.___2 {
		width: 5.501px;
		height: 5.501px;
		position: absolute;
		overflow: visible;
		transform: translate(0px, 0px) matrix(1,0,0,1,63.5448,60.0272) rotate(-6.012deg);
		transform-origin: center;
	}
	.___90 {
		overflow: visible;
		position: absolute;
		width: 6.384px;
		height: 7.064px;
		left: 83.039px;
		top: 44.85px;
		transform: matrix(1,0,0,1,0,0);
	}
	.___91 {
		overflow: visible;
		position: absolute;
		width: 10.056px;
		height: 10.072px;
		left: 36.744px;
		top: 49.272px;
		transform: matrix(1,0,0,1,0,0);
	}
	.___92 {
		overflow: visible;
		position: absolute;
		width: 11.313px;
		height: 10.878px;
		left: 60.232px;
		top: 38.102px;
		transform: matrix(1,0,0,1,0,0);
	}
	.___98 {
		overflow: visible;
		position: absolute;
		width: 96.52px;
		height: 91.283px;
		left: 27.441px;
		top: 0.326px;
		transform: matrix(1,0,0,1,0,0);
	}
	.___100 {
		overflow: visible;
		position: absolute;
		width: 15.901px;
		height: 5.645px;
		left: 34.783px;
		top: 71.916px;
		transform: matrix(1,0,0,1,0,0);
	}
	.___114 {
		overflow: visible;
		position: absolute;
		width: 26.271px;
		height: 51.308px;
		left: 0px;
		top: 15.382px;
		transform: matrix(1,0,0,1,0,0);
	}
	#___82 {
		opacity: 0.91;
	}
	.___82 {
		overflow: visible;
		position: absolute;
		width: 16.557px;
		height: 24.268px;
		left: 0px;
		top: 55.418px;
		transform: matrix(1,0,0,1,0,0);
	}
	#___116 {
		opacity: 0.33;
	}
	.___116 {
		overflow: visible;
		position: absolute;
		width: 5.697px;
		height: 8.304px;
		left: 100.753px;
		top: 122.645px;
		transform: matrix(1,0,0,1,0,0);
	}
	#___117 {
		opacity: 0.33;
	}
	.___117 {
		overflow: visible;
		position: absolute;
		width: 5.697px;
		height: 8.304px;
		left: 36.01px;
		top: 118.434px;
		transform: matrix(1,0,0,1,0,0);
	}
	#___118 {
		opacity: 0.33;
	}
	.___118 {
		overflow: visible;
		position: absolute;
		width: 5.697px;
		height: 8.304px;
		left: 524.665px;
		top: 104.749px;
		transform: matrix(1,0,0,1,0,0);
	}
	#___119 {
		opacity: 0.33;
	}
	.___119 {
		overflow: visible;
		position: absolute;
		width: 5.697px;
		height: 8.304px;
		left: 556.247px;
		top: 144.226px;
		transform: matrix(1,0,0,1,0,0);
	}
	#___120 {
		opacity: 0.33;
	}
	.___120 {
		overflow: visible;
		position: absolute;
		width: 5.697px;
		height: 8.304px;
		left: 491.504px;
		top: 140.015px;
		transform: matrix(1,0,0,1,0,0);
	}
	#__42 {
		position: absolute;
		width: 60.658px;
		height: 56.922px;
		left: 164.156px;
		top: 0px;
		overflow: visible;
	}
	.___14 {
		overflow: visible;
		position: absolute;
		width: 15.116px;
		height: 11.967px;
		transform: translate(0px, 0px) matrix(1,0,0,1,10.6902,20.1281) rotate(6deg);
		transform-origin: center;
		left: 0px;
		top: 0px;
	}
	.___20 {
		overflow: visible;
		position: absolute;
		width: 15.116px;
		height: 11.967px;
		transform: translate(0px, 0px) matrix(1,0,0,1,22.5896,9.6527) rotate(6deg);
		transform-origin: center;
		left: 0px;
		top: 0px;
	}
	.___17 {
		overflow: visible;
		position: absolute;
		width: 33.36px;
		height: 26.015px;
		transform: translate(0px, 0px) matrix(1,0,0,1,1.2683,1.6723) rotate(6deg);
		transform-origin: center;
		left: 0px;
		top: 0px;
	}
	.___15 {
		overflow: visible;
		position: absolute;
		width: 3.127px;
		height: 2.602px;
		transform: translate(0px, 0px) matrix(1,0,0,1,5.1545,13.3137) rotate(6deg);
		transform-origin: center;
		left: 0px;
		top: 0px;
	}
	.___19 {
		overflow: visible;
		position: absolute;
		width: 3.127px;
		height: 2.602px;
		transform: translate(0px, 0px) matrix(1,0,0,1,16.9849,2.8412) rotate(6deg);
		transform-origin: center;
		left: 0px;
		top: 0px;
	}
	#__41 {
		transform: translate(0px, 0px) matrix(1,0,0,1,26.91,24.3259) rotate(-12deg);
		transform-origin: center;
		position: absolute;
		width: 31px;
		height: 29.698px;
		left: 0px;
		top: 0px;
		overflow: visible;
	}
	#__35 {
		position: absolute;
		width: 23.972px;
		height: 23.343px;
		left: 4.195px;
		top: 3.967px;
		overflow: visible;
	}
	.___62 {
		overflow: visible;
		position: absolute;
		width: 12.361px;
		height: 8.088px;
		left: 2.501px;
		top: 2.083px;
		transform: matrix(1,0,0,1,0,0);
	}
	.___63 {
		overflow: visible;
		position: absolute;
		width: 25.519px;
		height: 21.156px;
		left: 0.349px;
		top: 1.945px;
		transform: matrix(1,0,0,1,0,0);
	}
	.___64 {
		overflow: visible;
		position: absolute;
		width: 19.275px;
		height: 15.056px;
		left: 9.026px;
		top: 11.355px;
		transform: matrix(1,0,0,1,0,0);
	}
	.___99 {
		overflow: visible;
		position: absolute;
		width: 36.497px;
		height: 35.494px;
		left: 0px;
		top: 0px;
		transform: matrix(1,0,0,1,0,0);
	}
	#__658 {
		position: absolute;
		width: 130px;
		height: 41px;
		left: 895px;
		top: 569px;
		overflow: visible;
	}
	.___42 {
		position: absolute;
		overflow: visible;
		width: 130px;
		height: 41px;
		left: 0px;
		top: 0px;
	}
	#____ {
		position: absolute;
		left: 29px;
		top: 9px;
		overflow: visible;
		width: 73px;
		white-space: nowrap;
		text-align: left;
		font-family: Microsoft YaHei;
		font-style: normal;
		font-weight: normal;
		font-size: 18px;
		color: rgba(255,255,255,1);
	}
</style>
<script id="applicationScript">
///////////////////////////////////////
// INITIALIZATION
///////////////////////////////////////

/**
 * Functionality for scaling, showing by media query, and navigation between multiple pages on a single page. 
 * Code subject to change.
 **/

if (window.console==null) { window["console"] = { log : function() {} } }; // some browsers do not set console

var Application = function() {
	// event constants
	this.NAVIGATION_CHANGE = "viewChange";
	this.VIEW_NOT_FOUND = "viewNotFound";
	this.VIEW_CHANGE = "viewChange";
	this.STATE_NOT_FOUND = "stateNotFound";
	this.APPLICATION_COMPLETE = "applicationComplete";
	this.APPLICATION_RESIZE = "applicationResize";
	this.SIZE_STATE_NAME = "data-is-view-scaled";

	this.lastView = null;
	this.lastState = null;
	this.lastOverlay = null;
	this.currentView = null;
	this.currentState = null;
	this.currentOverlay = null;
	this.currentQuery = {index: 0, rule: null, mediaText: null, id: null};
	this.inclusionQuery = "(min-width: 0px)";
	this.exclusionQuery = "none and (min-width: 99999px)";
	this.LastModifiedDateLabelName = "LastModifiedDateLabel";
	this.viewScaleSliderId = "ViewScaleSliderInput";
	this.pageRefreshedName = "showPageRefreshedNotification";
	this.prefix = "--web-";
	this.applicationStylesheet = null;
	this.mediaQueryDictionary = {};
	this.viewsDictionary = {};
	this.addedViews = [];
	this.views = {};
	this.viewIds = [];
	this.viewIds = [];
	this.viewQueries = {};
	this.overlays = {};
	this.overlayIds = [];
	this.numberOfViews = 0;
	this.verticalPadding = 0;
	this.horizontalPadding = 0;
	this.stateName = null;
	this.viewScale = 1;
	this.viewLeft = 0;
	this.viewTop = 0;

	// view settings
	this.showUpdateNotification = false;
	this.showNavigationControls = false;
	this.scaleViewsToFit = false;
	this.scaleToFitOnDoubleClick = false;
	this.actualSizeOnDoubleClick = false;
	this.scaleViewsOnResize = false;
	this.navigationOnKeypress = false;
	this.showViewName = false;
	this.enableDeepLinking = true;
	this.refreshPageForChanges = false;
	this.showRefreshNotifications = true;

	// view controls
	this.scaleViewSlider = null;
	this.lastModifiedLabel = null;
	this.supportsPopState = false; // window.history.pushState!=null;
	this.initialized = false;

	// refresh properties
	this.refreshDuration = 250;
	this.lastModifiedDate = null;
	this.refreshRequest = null;
	this.refreshInterval = null;
	this.refreshContent = null;
	this.refreshContentSize = null;
	this.refreshCheckContent = false;
	this.refreshCheckContentSize = false;

	var self = this;

	self.initialize = function(event) {
		var view = self.getVisibleView();
		if (view==null) view = self.getInitialView();
		self.collectViews();
		self.collectOverlays();
		self.collectMediaQueries();
		self.setViewOptions(view);
		self.setViewVariables(view);

		// sometimes the body size is 0 so we call this now and again later
		if (self.initialized) {
			window.addEventListener(self.NAVIGATION_CHANGE, self.viewChangeHandler);
			window.addEventListener("keyup", self.keypressHandler);
			window.addEventListener("keypress", self.keypressHandler);
			window.addEventListener("resize", self.resizeHandler);
			window.document.addEventListener("dblclick", self.doubleClickHandler);

			if (self.supportsPopState) {
				window.addEventListener('popstate', self.popStateHandler);
			}
			else {
				window.addEventListener('hashchange', self.hashChangeHandler);
			}

			// we are ready to go
			window.dispatchEvent(new Event(self.APPLICATION_COMPLETE));
		}

		if (self.initialized==false) {
			if (self.showNavigationControls || (self.singlePageApplication && self.showByMediaQuery==false)) {
				self.syncronizeViewToURL();
			}
	
			if (self.refreshPageForChanges) {
				self.setupRefreshForChanges();
			}
	
			self.initialized = true;
		}
		
		if (self.scaleViewsToFit) {
			self.viewScale = self.scaleViewToFit(view);
			
			if (self.viewScale<0) {
				setTimeout(self.scaleViewToFit, 500, view);
			}
		}
		else if (view) {
			self.viewScale = self.getViewScaleValue(view);
			self.centerView(view);
			self.updateSliderValue(self.viewScale);
		}
		else {
			// no view found
		}
	
		if (self.showUpdateNotification) {
			self.showNotification();
		}
	
		//"addEventListener" in window ? null : window.addEventListener = window.attachEvent;
		//"addEventListener" in document ? null : document.addEventListener = document.attachEvent;
	}


	///////////////////////////////////////
	// AUTO REFRESH 
	///////////////////////////////////////

	self.setupRefreshForChanges = function() {
		self.refreshRequest = new XMLHttpRequest();

		if (!self.refreshRequest) {
			return false;
		}

		// get document start values immediately
		self.requestRefreshUpdate();
	}

	/**
	 * Attempt to check the last modified date by the headers 
	 * or the last modified property from the byte array (experimental)
	 **/
	self.requestRefreshUpdate = function() {
		var url = document.location.href;
		var protocol = window.location.protocol;
		var method;
		
		try {

			if (self.refreshCheckContentSize) {
				self.refreshRequest.open('HEAD', url, true);
			}
			else if (self.refreshCheckContent) {
				self.refreshContent = document.documentElement.outerHTML;
				self.refreshRequest.open('GET', url, true);
				self.refreshRequest.responseType = "text";
			}
			else {

				// get page last modified date for the first call to compare to later
				if (self.lastModifiedDate==null) {

					// File system does not send headers in FF so get blob if possible
					if (protocol=="file:") {
						self.refreshRequest.open("GET", url, true);
						self.refreshRequest.responseType = "blob";
					}
					else {
						self.refreshRequest.open("HEAD", url, true);
						self.refreshRequest.responseType = "blob";
					}

					self.refreshRequest.onload = self.refreshOnLoadOnceHandler;

					// In some browsers (Chrome & Safari) this error occurs at send: 
					// 
					// Chrome - Access to XMLHttpRequest at 'file:///index.html' from origin 'null' 
					// has been blocked by CORS policy: 
					// Cross origin requests are only supported for protocol schemes: 
					// http, data, chrome, chrome-extension, https.
					// 
					// Safari - XMLHttpRequest cannot load file:///Users/user/Public/index.html. Cross origin requests are only supported for HTTP.
					// 
					// Solution is to run a local server, set local permissions or test in another browser
					self.refreshRequest.send(null);

					// In MS browsers the following behavior occurs possibly due to an AJAX call to check last modified date: 
					// 
					// DOM7011: The code on this page disabled back and forward caching.

					// In Brave (Chrome) error when on the server
					// index.js:221 HEAD https://www.example.com/ net::ERR_INSUFFICIENT_RESOURCES
					// self.refreshRequest.send(null);

				}
				else {
					self.refreshRequest = new XMLHttpRequest();
					self.refreshRequest.onreadystatechange = self.refreshHandler;
					self.refreshRequest.ontimeout = function() {
						self.log("Couldn't find page to check for updates");
					}
					
					var method;
					if (protocol=="file:") {
						method = "GET";
					}
					else {
						method = "HEAD";
					}

					//refreshRequest.open('HEAD', url, true);
					self.refreshRequest.open(method, url, true);
					self.refreshRequest.responseType = "blob";
					self.refreshRequest.send(null);
				}
			}
		}
		catch (error) {
			self.log("Refresh failed for the following reason:")
			self.log(error);
		}
	}

	self.refreshHandler = function() {
		var contentSize;

		try {

			if (self.refreshRequest.readyState === XMLHttpRequest.DONE) {
				
				if (self.refreshRequest.status === 2 || 
					self.refreshRequest.status === 200) {
					var pageChanged = false;

					self.updateLastModifiedLabel();

					if (self.refreshCheckContentSize) {
						var lastModifiedHeader = self.refreshRequest.getResponseHeader("Last-Modified");
						contentSize = self.refreshRequest.getResponseHeader("Content-Length");
						//lastModifiedDate = refreshRequest.getResponseHeader("Last-Modified");
						var headers = self.refreshRequest.getAllResponseHeaders();
						var hasContentHeader = headers.indexOf("Content-Length")!=-1;
						
						if (hasContentHeader) {
							contentSize = self.refreshRequest.getResponseHeader("Content-Length");

							// size has not been set yet
							if (self.refreshContentSize==null) {
								self.refreshContentSize = contentSize;
								// exit and let interval call this method again
								return;
							}

							if (contentSize!=self.refreshContentSize) {
								pageChanged = true;
							}
						}
					}
					else if (self.refreshCheckContent) {

						if (self.refreshRequest.responseText!=self.refreshContent) {
							pageChanged = true;
						}
					}
					else {
						lastModifiedHeader = self.getLastModified(self.refreshRequest);

						if (self.lastModifiedDate!=lastModifiedHeader) {
							self.log("lastModifiedDate:" + self.lastModifiedDate + ",lastModifiedHeader:" +lastModifiedHeader);
							pageChanged = true;
						}

					}

					
					if (pageChanged) {
						clearInterval(self.refreshInterval);
						self.refreshUpdatedPage();
						return;
					}

				}
				else {
					self.log('There was a problem with the request.');
				}

			}
		}
		catch( error ) {
			//console.log('Caught Exception: ' + error);
		}
	}

	self.refreshOnLoadOnceHandler = function(event) {

		// get the last modified date
		if (self.refreshRequest.response) {
			self.lastModifiedDate = self.getLastModified(self.refreshRequest);

			if (self.lastModifiedDate!=null) {

				if (self.refreshInterval==null) {
					self.refreshInterval = setInterval(self.requestRefreshUpdate, self.refreshDuration);
				}
			}
			else {
				self.log("Could not get last modified date from the server");
			}
		}
	}

	self.refreshUpdatedPage = function() {
		if (self.showRefreshNotifications) {
			var date = new Date().setTime((new Date().getTime()+10000));
			document.cookie = encodeURIComponent(self.pageRefreshedName) + "=true" + "; max-age=6000;" + " path=/";
		}

		document.location.reload(true);
	}

	self.showNotification = function(duration) {
		var notificationID = self.pageRefreshedName+"ID";
		var notification = document.getElementById(notificationID);
		if (duration==null) duration = 4000;

		if (notification!=null) {return;}

		notification = document.createElement("div");
		notification.id = notificationID;
		notification.textContent = "PAGE UPDATED";
		var styleRule = ""
		styleRule = "position: fixed; padding: 7px 16px 6px 16px; font-family: Arial, sans-serif; font-size: 10px; font-weight: bold; left: 50%;";
		styleRule += "top: 20px; background-color: rgba(0,0,0,.5); border-radius: 12px; color:rgb(235, 235, 235); transition: all 2s linear;";
		styleRule += "transform: translateX(-50%); letter-spacing: .5px; filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, .1))";
		notification.setAttribute("style", styleRule);

		notification.className= "PageRefreshedClass";
		
		document.body.appendChild(notification);

		setTimeout(function() {
			notification.style.opacity = "0";
			notification.style.filter = "drop-shadow( 0px 0px 0px rgba(0,0,0, .5))";
			setTimeout(function() {
				notification.parentNode.removeChild(notification);
			}, duration)
		}, duration);

		document.cookie = encodeURIComponent(self.pageRefreshedName) + "=; max-age=1; path=/";
	}

	/**
	 * Get the last modified date from the header 
	 * or file object after request has been received
	 **/
	self.getLastModified = function(request) {
		var date;

		// file protocol - FILE object with last modified property
		if (request.response && request.response.lastModified) {
			date = request.response.lastModified;
		}
		
		// http protocol - check headers
		if (date==null) {
			date = request.getResponseHeader("Last-Modified");
		}

		return date;
	}

	self.updateLastModifiedLabel = function() {
		var labelValue = "";
		
		if (self.lastModifiedLabel==null) {
			self.lastModifiedLabel = document.getElementById("LastModifiedLabel");
		}

		if (self.lastModifiedLabel) {
			var seconds = parseInt(((new Date().getTime() - Date.parse(document.lastModified)) / 1000 / 60) * 100 + "");
			var minutes = 0;
			var hours = 0;

			if (seconds < 60) {
				seconds = Math.floor(seconds/10)*10;
				labelValue = seconds + " seconds";
			}
			else {
				minutes = parseInt((seconds/60) + "");

				if (minutes>60) {
					hours = parseInt((seconds/60/60) +"");
					labelValue += hours==1 ? " hour" : " hours";
				}
				else {
					labelValue = minutes+"";
					labelValue += minutes==1 ? " minute" : " minutes";
				}
			}
			
			if (seconds<10) {
				labelValue = "Updated now";
			}
			else {
				labelValue = "Updated " + labelValue + " ago";
			}

			if (self.lastModifiedLabel.firstElementChild) {
				self.lastModifiedLabel.firstElementChild.textContent = labelValue;

			}
			else if ("textContent" in self.lastModifiedLabel) {
				self.lastModifiedLabel.textContent = labelValue;
			}
		}
	}

	self.getShortString = function(string, length) {
		if (length==null) length = 30;
		string = string!=null ? string.substr(0, length).replace(/\n/g, "") : "[String is null]";
		return string;
	}

	self.getShortNumber = function(value, places) {
		if (places==null || places<1) places = 4;
		value = Math.round(value * Math.pow(10,places)) / Math.pow(10, places);
		return value;
	}

	///////////////////////////////////////
	// NAVIGATION CONTROLS
	///////////////////////////////////////

	self.updateViewLabel = function() {
		var viewNavigationLabel = document.getElementById("ViewNavigationLabel");
		var view = self.getVisibleView();
		var viewIndex = view ? self.getViewIndex(view) : -1;
		var viewName = view ? self.getViewPreferenceValue(view, self.prefix + "view-name") : null;
		var viewId = view ? view.id : null;

		if (viewNavigationLabel && view) {
			if (viewName && viewName.indexOf('"')!=-1) {
				viewName = viewName.replace(/"/g, "");
			}

			if (self.showViewName) {
				viewNavigationLabel.textContent = viewName;
				self.setTooltip(viewNavigationLabel, viewIndex + 1 + " of " + self.numberOfViews);
			}
			else {
				viewNavigationLabel.textContent = viewIndex + 1 + " of " + self.numberOfViews;
				self.setTooltip(viewNavigationLabel, viewName);
			}

		}
	}

	self.updateURL = function(view) {
		view = view == null ? self.getVisibleView() : view;
		var viewId = view ? view.id : null
		var viewFragment = view ? "#"+ viewId : null;

		if (viewId && self.viewIds.length>1 && self.enableDeepLinking) {

			if (self.supportsPopState==false) {
				self.setFragment(viewId);
			}
			else {
				if (viewFragment!=window.location.hash) {

					if (window.location.hash==null) {
						window.history.replaceState({name:viewId}, null, viewFragment);
					}
					else {
						window.history.pushState({name:viewId}, null, viewFragment);
					}
				}
			}
		}
	}

	self.setFragment = function(value) {
		window.location.hash = "#" + value;
	}

	self.setTooltip = function(element, value) {
		// setting the tooltip in edge causes a page crash on hover
		if (/Edge/.test(navigator.userAgent)) { return; }

		if ("title" in element) {
			element.title = value;
		}
	}

	self.getStylesheetRules = function(styleSheet) {
		try {
			if (styleSheet) return styleSheet.cssRules || styleSheet.rules;
	
			return document.styleSheets[0]["cssRules"] || document.styleSheets[0]["rules"];
		}
		catch (error) {
			// ERRORS:
			// SecurityError: The operation is insecure.
			// Errors happen when script loads before stylesheet or loading an external css locally

			// InvalidAccessError: A parameter or an operation is not supported by the underlying object
			// Place script after stylesheet

			console.log(error);
			if (error.toString().indexOf("The operation is insecure")!=-1) {
				console.log("Load the stylesheet before the script or load the stylesheet inline until it can be loaded on a server")
			}
			return [];
		}
	}

	/**
	 * If single page application hide all of the views. 
	 * @param {Number} selectedIndex if provided shows the view at index provided
	 **/
	self.hideViews = function(selectedIndex, animation) {
		var rules = self.getStylesheetRules();
		var queryIndex = 0;
		var numberOfRules = rules!=null ? rules.length : 0;

		// loop through rules and hide media queries except selected
		for (var i=0;i<numberOfRules;i++) {
			var rule = rules[i];

			if (rule.media!=null) {

				if (queryIndex==selectedIndex) {
					self.currentQuery.mediaText = rule.conditionText;
					self.currentQuery.index = selectedIndex;
					self.currentQuery.rule = rule;
					self.enableMediaQuery(rule);
				}
				else {
					if (animation) {
						self.fadeOut(rule)
					}
					else {
						self.disableMediaQuery(rule);
					}
				}
				
				queryIndex++;
			}
		}

		self.numberOfViews = queryIndex;
		self.updateViewLabel();
		self.updateURL();

		self.dispatchViewChange();

		var view = self.getVisibleView();
		var viewIndex = view ? self.getViewIndex(view) : -1;

		return viewIndex==selectedIndex ? view : null;
	}

	/**
	 * Hide view
	 * @param {Object} view element to hide
	 **/
	self.hideView = function(view) {
		var rule = view ? self.mediaQueryDictionary[view.id] : null;

		if (rule) {
			self.disableMediaQuery(rule);
		}
	}

	/**
	 * Hide overlay
	 * @param {Object} overlay element to hide
	 **/
	self.hideOverlay = function(overlay) {
		var rule = overlay ? self.mediaQueryDictionary[overlay.id] : null;

		if (rule) {
			self.disableMediaQuery(rule);

			//if (self.showByMediaQuery) {
				overlay.style.display = "none";
			//}
		}
	}

	/**
	 * Show the view by media query. Does not hide current views
	 * Sets view options by default
	 * @param {Object} view element to show
	 * @param {Boolean} setViewOptions sets view options if null or true
	 */
	self.showViewByMediaQuery = function(view, setViewOptions) {
		var id = view ? view.id : null;
		var query = id ? self.mediaQueryDictionary[id] : null;
		var display = null;
		setViewOptions = setViewOptions==null ? true : setViewOptions;

		if (query) {
			self.enableMediaQuery(query);
			if (view && setViewOptions) self.setViewOptions(view);
			if (view && setViewOptions) self.setViewVariables(view);
		}
	}

	/**
	 * Show the view. Does not hide current views
	 */
	self.showView = function(view, setViewOptions) {
		var id = view ? view.id : null;
		var query = id ? self.mediaQueryDictionary[id] : null;
		var display = null;
		setViewOptions = setViewOptions==null ? true : setViewOptions;

		if (query) {
			self.enableMediaQuery(query);
			if (view==null) view =self.getVisibleView();
			if (view && setViewOptions) self.setViewOptions(view);
		}
		else if (id) {
			display = window.getComputedStyle(view).getPropertyValue("display");
			if (display=="" || display=="none") {
				view.style.display = "block";
			}
		}

		if (view) {
			if (self.currentView!=null) {
				self.lastView = self.currentView;
			}

			self.currentView = view;
		}
	}

	self.showViewById = function(id, setViewOptions) {
		var view = id ? self.getViewById(id) : null;

		if (view) {
			self.showView(view);
			return;
		}

		self.log("View not found '" + id + "'");
	}

	/**
	 * Show overlay over view
	 * @param {String} id id of view or view reference
	 * @param {Number} x x location
	 * @param {Number} y y location
	 * @param {Event | HTMLElement} event event or html element with styles applied
	 */
	self.showOverlay = function(id, x, y, event) {
		var overlay = id && typeof id === 'string' ? self.getViewById(id) : id ? id : null;
		var query = overlay ? self.mediaQueryDictionary[overlay.id] : null;
		var centerHorizontally = false;
		var centerVertically = false;
		var display = null;

		// get enter animation - event target must have css variables declared
		if (event) {
			var button = event.currentTarget || event; // can be event or htmlelement
			var buttonComputedStyles = getComputedStyle(button);
			var actionTargetValue = buttonComputedStyles.getPropertyValue(self.prefix+"action-target").trim();
			var animation = buttonComputedStyles.getPropertyValue(self.prefix+"animation").trim();
			var targetType = buttonComputedStyles.getPropertyValue(self.prefix+"action-type").trim();
			var actionTarget = self.application ? null : self.getElement(actionTargetValue);
			var actionTargetStyles = actionTarget ? actionTarget.style : null;

			if (actionTargetStyles) {
				actionTargetStyles.setProperty("animation", animation);
			}

			if ("stopImmediatePropagation" in event) {
				event.stopImmediatePropagation();
			}
		}
		
		if (self.application==false || targetType=="page") {
			document.location.href = "./" + actionTargetValue;
			return;
		}

		// remove any current overlays
		if (self.currentOverlay) {
			self.removeOverlay();
		}

		if (query) {
			//self.setElementAnimation(overlay, null);
			//overlay.style.animation = animation;
			self.enableMediaQuery(query);
			
			var display = overlay && overlay.style.display;
			
			if (overlay && display=="" || display=="none") {
				overlay.style.display = "block";
				self.setViewOptions(overlay);
			}

			// add animation defined in event target style declaration
			if (animation && self.supportAnimations) {
				self.fadeIn(overlay, false, animation);
			}
		}
		else if (id) {
			if (overlay==null || overlay==false) {
				self.log("Overlay not found, '"+ id + "'");
				return;
			}

			display = window.getComputedStyle(overlay).getPropertyValue("display");

			if (display=="" || display=="none") {
				overlay.style.display = "block";
			}

			// add animation defined in event target style declaration
			if (animation && self.supportAnimations) {
				self.fadeIn(overlay, false, animation);
			}
		}

		// do not set x or y position if centering
		centerHorizontally = self.getViewPreferenceBoolean(overlay, self.prefix + "center-horizontally", false);
		centerVertically = self.getViewPreferenceBoolean(overlay, self.prefix + "center-vertically", false);

		if (overlay && centerHorizontally==false) {
			overlay.style.left = x + "px";
		}
		
		if (overlay && centerVertically==false) {
			overlay.style.top = y + "px";
		}

		self.currentOverlay = overlay;
	}

	self.goBack = function() {
		if (self.currentOverlay) {
			self.removeOverlay();
		}
		else if (self.lastView) {
			self.goToView(self.lastView.id);
		}
	}

	self.removeOverlay = function(animate) {
		var overlay = self.currentOverlay;
		animate = animate===false ? false : true;

		if (overlay) {
			var style = overlay.style;
			
			if (style.animation && self.supportAnimations && animate) {
				self.reverseAnimation(overlay, true);

				var duration = self.getAnimationDuration(style.animation, true);
		
				setTimeout(function() {
					self.setElementAnimation(overlay, null);
					self.hideOverlay(overlay);
				}, duration);
			}
			else {
				self.setElementAnimation(overlay, null);
				self.hideOverlay(overlay);
			}
		}
	}

	/**
	 * Reverse the animation and hide after
	 * @param {Object} target element with animation
	 * @param {Boolean} hide hide after animation ends
	 */
	self.reverseAnimation = function(target, hide) {
		var lastAnimation = null;
		var style = target.style;

		style.animationPlayState = "paused";
		lastAnimation = style.animation;
		style.animation = null;
		style.animationPlayState = "paused";

		if (hide) {
			//target.addEventListener("animationend", self.animationEndHideHandler);
	
			var duration = self.getAnimationDuration(lastAnimation, true);
			var isOverlay = self.isOverlay(target);
	
			setTimeout(function() {
				self.setElementAnimation(target, null);

				if (isOverlay) {
					self.hideOverlay(target);
				}
				else {
					self.hideView(target);
				}
			}, duration);
		}

		setTimeout(function() {
			style.animation = lastAnimation;
			style.animationPlayState = "paused";
			style.animationDirection = "reverse";
			style.animationPlayState = "running";
		}, 30);
	}

	self.animationEndHandler = function(event) {
		var target = event.currentTarget;
		self.dispatchEvent(new Event(event.type));
	}

	self.isOverlay = function(view) {
		var result = view ? self.getViewPreferenceBoolean(view, self.prefix + "is-overlay") : false;

		return result;
	}

	self.animationEndHideHandler = function(event) {
		var target = event.currentTarget;
		self.setViewVariables(null, target);
		self.hideView(target);
		target.removeEventListener("animationend", self.animationEndHideHandler);
	}

	self.animationEndShowHandler = function(event) {
		var target = event.currentTarget;
		target.removeEventListener("animationend", self.animationEndShowHandler);
	}

	self.setViewOptions = function(view) {

		if (view) {
			self.minimumScale = self.getViewPreferenceValue(view, self.prefix + "minimum-scale");
			self.maximumScale = self.getViewPreferenceValue(view, self.prefix + "maximum-scale");
			self.scaleViewsToFit = self.getViewPreferenceBoolean(view, self.prefix + "scale-to-fit");
			self.scaleToFitType = self.getViewPreferenceValue(view, self.prefix + "scale-to-fit-type");
			self.scaleToFitOnDoubleClick = self.getViewPreferenceBoolean(view, self.prefix + "scale-on-double-click");
			self.actualSizeOnDoubleClick = self.getViewPreferenceBoolean(view, self.prefix + "actual-size-on-double-click");
			self.scaleViewsOnResize = self.getViewPreferenceBoolean(view, self.prefix + "scale-on-resize");
			self.enableScaleUp = self.getViewPreferenceBoolean(view, self.prefix + "enable-scale-up");
			self.centerHorizontally = self.getViewPreferenceBoolean(view, self.prefix + "center-horizontally");
			self.centerVertically = self.getViewPreferenceBoolean(view, self.prefix + "center-vertically");
			self.navigationOnKeypress = self.getViewPreferenceBoolean(view, self.prefix + "navigate-on-keypress");
			self.showViewName = self.getViewPreferenceBoolean(view, self.prefix + "show-view-name");
			self.refreshPageForChanges = self.getViewPreferenceBoolean(view, self.prefix + "refresh-for-changes");
			self.refreshPageForChangesInterval = self.getViewPreferenceValue(view, self.prefix + "refresh-interval");
			self.showNavigationControls = self.getViewPreferenceBoolean(view, self.prefix + "show-navigation-controls");
			self.scaleViewSlider = self.getViewPreferenceBoolean(view, self.prefix + "show-scale-controls");
			self.enableDeepLinking = self.getViewPreferenceBoolean(view, self.prefix + "enable-deep-linking");
			self.singlePageApplication = self.getViewPreferenceBoolean(view, self.prefix + "application");
			self.showByMediaQuery = self.getViewPreferenceBoolean(view, self.prefix + "show-by-media-query");
			self.showUpdateNotification = document.cookie!="" ? document.cookie.indexOf(self.pageRefreshedName)!=-1 : false;
			self.imageComparisonDuration = self.getViewPreferenceValue(view, self.prefix + "image-comparison-duration");
			self.supportAnimations = self.getViewPreferenceBoolean(view, self.prefix + "enable-animations", true);

			if (self.scaleViewsToFit) {
				var newScaleValue = self.scaleViewToFit(view);
				
				if (newScaleValue<0) {
					setTimeout(self.scaleViewToFit, 500, view);
				}
			}
			else {
				self.viewScale = self.getViewScaleValue(view);
				self.viewToFitWidthScale = self.getViewFitToViewportWidthScale(view, self.enableScaleUp)
				self.viewToFitHeightScale = self.getViewFitToViewportScale(view, self.enableScaleUp);
				self.updateSliderValue(self.viewScale);
			}

			if (self.imageComparisonDuration!=null) {
				// todo
			}

			if (self.refreshPageForChangesInterval!=null) {
				self.refreshDuration = Number(self.refreshPageForChangesInterval);
			}
		}
	}

	self.previousView = function(event) {
		var rules = self.getStylesheetRules();
		var view = self.getVisibleView()
		var index = view ? self.getViewIndex(view) : -1;
		var prevQueryIndex = index!=-1 ? index-1 : self.currentQuery.index-1;
		var queryIndex = 0;
		var numberOfRules = rules!=null ? rules.length : 0;

		if (event) {
			event.stopImmediatePropagation();
		}

		if (prevQueryIndex<0) {
			return;
		}

		// loop through rules and hide media queries except selected
		for (var i=0;i<numberOfRules;i++) {
			var rule = rules[i];
			
			if (rule.media!=null) {

				if (queryIndex==prevQueryIndex) {
					self.currentQuery.mediaText = rule.conditionText;
					self.currentQuery.index = prevQueryIndex;
					self.currentQuery.rule = rule;
					self.enableMediaQuery(rule);
					self.updateViewLabel();
					self.updateURL();
					self.dispatchViewChange();
				}
				else {
					self.disableMediaQuery(rule);
				}

				queryIndex++;
			}
		}
	}

	self.nextView = function(event) {
		var rules = self.getStylesheetRules();
		var view = self.getVisibleView();
		var index = view ? self.getViewIndex(view) : -1;
		var nextQueryIndex = index!=-1 ? index+1 : self.currentQuery.index+1;
		var queryIndex = 0;
		var numberOfRules = rules!=null ? rules.length : 0;
		var numberOfMediaQueries = self.getNumberOfMediaRules();

		if (event) {
			event.stopImmediatePropagation();
		}

		if (nextQueryIndex>=numberOfMediaQueries) {
			return;
		}

		// loop through rules and hide media queries except selected
		for (var i=0;i<numberOfRules;i++) {
			var rule = rules[i];
			
			if (rule.media!=null) {

				if (queryIndex==nextQueryIndex) {
					self.currentQuery.mediaText = rule.conditionText;
					self.currentQuery.index = nextQueryIndex;
					self.currentQuery.rule = rule;
					self.enableMediaQuery(rule);
					self.updateViewLabel();
					self.updateURL();
					self.dispatchViewChange();
				}
				else {
					self.disableMediaQuery(rule);
				}

				queryIndex++;
			}
		}
	}

	/**
	 * Enables a view via media query
	 */
	self.enableMediaQuery = function(rule) {

		try {
			rule.media.mediaText = self.inclusionQuery;
		}
		catch(error) {
			//self.log(error);
			rule.conditionText = self.inclusionQuery;
		}
	}

	self.disableMediaQuery = function(rule) {

		try {
			rule.media.mediaText = self.exclusionQuery;
		}
		catch(error) {
			rule.conditionText = self.exclusionQuery;
		}
	}

	self.dispatchViewChange = function() {
		try {
			var event = new Event(self.NAVIGATION_CHANGE);
			window.dispatchEvent(event);
		}
		catch (error) {
			// In IE 11: Object doesn't support this action
		}
	}

	self.getNumberOfMediaRules = function() {
		var rules = self.getStylesheetRules();
		var numberOfRules = rules ? rules.length : 0;
		var numberOfQueries = 0;

		for (var i=0;i<numberOfRules;i++) {
			if (rules[i].media!=null) { numberOfQueries++; }
		}
		
		return numberOfQueries;
	}

	/////////////////////////////////////////
	// VIEW SCALE 
	/////////////////////////////////////////

	self.sliderChangeHandler = function(event) {
		var value = self.getShortNumber(event.currentTarget.value/100);
		var view = self.getVisibleView();
		self.setViewScaleValue(view, false, value, true);
	}

	self.updateSliderValue = function(scale) {
		var slider = document.getElementById(self.viewScaleSliderId);
		var tooltip = parseInt(scale * 100 + "") + "%";
		var inputType;
		var inputValue;
		
		if (slider) {
			inputValue = self.getShortNumber(scale * 100);
			if (inputValue!=slider["value"]) {
				slider["value"] = inputValue;
			}
			inputType = slider.getAttributeNS(null, "type");

			if (inputType!="range") {
				// input range is not supported
				slider.style.display = "none";
			}

			self.setTooltip(slider, tooltip);
		}
	}

	self.viewChangeHandler = function(event) {
		var view = self.getVisibleView();
		var matrix = view ? getComputedStyle(view).transform : null;
		
		if (matrix) {
			self.viewScale = self.getViewScaleValue(view);
			
			var scaleNeededToFit = self.getViewFitToViewportScale(view);
			var isViewLargerThanViewport = scaleNeededToFit<1;
			
			// scale large view to fit if scale to fit is enabled
			if (self.scaleViewsToFit) {
				self.scaleViewToFit(view);
			}
			else {
				self.updateSliderValue(self.viewScale);
			}
		}
	}

	self.getViewScaleValue = function(view) {
		var matrix = getComputedStyle(view).transform;

		if (matrix) {
			var matrixArray = matrix.replace("matrix(", "").split(",");
			var scaleX = parseFloat(matrixArray[0]);
			var scaleY = parseFloat(matrixArray[3]);
			var scale = Math.min(scaleX, scaleY);
		}

		return scale;
	}

	/**
	 * Scales view to scale. 
	 * @param {Object} view view to scale. views are in views array
	 * @param {Boolean} scaleToFit set to true to scale to fit. set false to use desired scale value
	 * @param {Number} desiredScale scale to define. not used if scale to fit is false
	 * @param {Boolean} isSliderChange indicates if slider is callee
	 */
	self.setViewScaleValue = function(view, scaleToFit, desiredScale, isSliderChange) {
		var enableScaleUp = self.enableScaleUp;
		var scaleToFitType = self.scaleToFitType;
		var minimumScale = self.minimumScale;
		var maximumScale = self.maximumScale;
		var hasMinimumScale = !isNaN(minimumScale) && minimumScale!="";
		var hasMaximumScale = !isNaN(maximumScale) && maximumScale!="";
		var scaleNeededToFit = self.getViewFitToViewportScale(view, enableScaleUp);
		var scaleNeededToFitWidth = self.getViewFitToViewportWidthScale(view, enableScaleUp);
		var scaleNeededToFitHeight = self.getViewFitToViewportHeightScale(view, enableScaleUp);
		var scaleToFitFull = self.getViewFitToViewportScale(view, true);
		var scaleToFitFullWidth = self.getViewFitToViewportWidthScale(view, true);
		var scaleToFitFullHeight = self.getViewFitToViewportHeightScale(view, true);
		var scaleToWidth = scaleToFitType=="width";
		var scaleToHeight = scaleToFitType=="height";
		var shrunkToFit = false;
		var topPosition = null;
		var leftPosition = null;
		var translateY = null;
		var translateX = null;
		var transformValue = "";
		var canCenterVertically = true;
		var canCenterHorizontally = true;

		if (scaleToFit && isSliderChange!=true) {
			if (scaleToFitType=="fit" || scaleToFitType=="") {
				desiredScale = scaleNeededToFit;
			}
			else if (scaleToFitType=="width") {
				desiredScale = scaleNeededToFitWidth;
			}
			else if (scaleToFitType=="height") {
				desiredScale = scaleNeededToFitHeight;
			}
		}
		else {
			if (isNaN(desiredScale)) {
				desiredScale = 1;
			}
		}

		self.updateSliderValue(desiredScale);
		
		// scale to fit width
		if (scaleToWidth && scaleToHeight==false) {
			canCenterVertically = scaleNeededToFitHeight>=scaleNeededToFitWidth;
			canCenterHorizontally = scaleNeededToFitWidth>=1 && enableScaleUp==false;

			if (isSliderChange) {
				canCenterHorizontally = desiredScale<scaleToFitFullWidth;
			}
			else if (scaleToFit) {
				desiredScale = scaleNeededToFitWidth;
			}

			if (hasMinimumScale) {
				desiredScale = Math.max(desiredScale, Number(minimumScale));
			}

			if (hasMaximumScale) {
				desiredScale = Math.min(desiredScale, Number(maximumScale));
			}

			desiredScale = self.getShortNumber(desiredScale);

			canCenterHorizontally = self.canCenterHorizontally(view, "width", enableScaleUp, desiredScale, minimumScale, maximumScale);
			canCenterVertically = self.canCenterVertically(view, "width", enableScaleUp, desiredScale, minimumScale, maximumScale);

			if (desiredScale>1 && (enableScaleUp || isSliderChange)) {
				transformValue = "scale(" + desiredScale + ")";
			}
			else if (desiredScale>=1 && enableScaleUp==false) {
				transformValue = "scale(" + 1 + ")";
			}
			else {
				transformValue = "scale(" + desiredScale + ")";
			}

			if (self.centerVertically) {
				if (canCenterVertically) {
					translateY = "-50%";
					topPosition = "50%";
				}
				else {
					translateY = "0";
					topPosition = "0";
				}
				
				if (view.style.top != topPosition) {
					view.style.top = topPosition + "";
				}

				if (canCenterVertically) {
					transformValue += " translateY(" + translateY+ ")";
				}
			}

			if (self.centerHorizontally) {
				if (canCenterHorizontally) {
					translateX = "-50%";
					leftPosition = "50%";
				}
				else {
					translateX = "0";
					leftPosition = "0";
				}

				if (view.style.left != leftPosition) {
					view.style.left = leftPosition + "";
				}

				if (canCenterHorizontally) {
					transformValue += " translateX(" + translateX+ ")";
				}
			}

			view.style.transformOrigin = "0 0";
			view.style.transform = transformValue;

			self.viewScale = desiredScale;
			self.viewToFitWidthScale = scaleNeededToFitWidth;
			self.viewToFitHeightScale = scaleNeededToFitHeight;
			self.viewLeft = leftPosition;
			self.viewTop = topPosition;

			return desiredScale;
		}

		// scale to fit height
		if (scaleToHeight && scaleToWidth==false) {
			//canCenterVertically = scaleNeededToFitHeight>=scaleNeededToFitWidth;
			//canCenterHorizontally = scaleNeededToFitHeight<=scaleNeededToFitWidth && enableScaleUp==false;
			canCenterVertically = scaleNeededToFitHeight>=scaleNeededToFitWidth;
			canCenterHorizontally = scaleNeededToFitWidth>=1 && enableScaleUp==false;
			
			if (isSliderChange) {
				canCenterHorizontally = desiredScale<scaleToFitFullHeight;
			}
			else if (scaleToFit) {
				desiredScale = scaleNeededToFitHeight;
			}

			if (hasMinimumScale) {
				desiredScale = Math.max(desiredScale, Number(minimumScale));
			}

			if (hasMaximumScale) {
				desiredScale = Math.min(desiredScale, Number(maximumScale));
				//canCenterVertically = desiredScale>=scaleNeededToFitHeight && enableScaleUp==false;
			}

			desiredScale = self.getShortNumber(desiredScale);

			canCenterHorizontally = self.canCenterHorizontally(view, "height", enableScaleUp, desiredScale, minimumScale, maximumScale);
			canCenterVertically = self.canCenterVertically(view, "height", enableScaleUp, desiredScale, minimumScale, maximumScale);

			if (desiredScale>1 && (enableScaleUp || isSliderChange)) {
				transformValue = "scale(" + desiredScale + ")";
			}
			else if (desiredScale>=1 && enableScaleUp==false) {
				transformValue = "scale(" + 1 + ")";
			}
			else {
				transformValue = "scale(" + desiredScale + ")";
			}

			if (self.centerHorizontally) {
				if (canCenterHorizontally) {
					translateX = "-50%";
					leftPosition = "50%";
				}
				else {
					translateX = "0";
					leftPosition = "0";
				}

				if (view.style.left != leftPosition) {
					view.style.left = leftPosition + "";
				}

				if (canCenterHorizontally) {
					transformValue += " translateX(" + translateX+ ")";
				}
			}

			if (self.centerVertically) {
				if (canCenterVertically) {
					translateY = "-50%";
					topPosition = "50%";
				}
				else {
					translateY = "0";
					topPosition = "0";
				}
				
				if (view.style.top != topPosition) {
					view.style.top = topPosition + "";
				}

				if (canCenterVertically) {
					transformValue += " translateY(" + translateY+ ")";
				}
			}

			view.style.transformOrigin = "0 0";
			view.style.transform = transformValue;

			self.viewScale = desiredScale;
			self.viewToFitWidthScale = scaleNeededToFitWidth;
			self.viewToFitHeightScale = scaleNeededToFitHeight;
			self.viewLeft = leftPosition;
			self.viewTop = topPosition;

			return scaleNeededToFitHeight;
		}

		if (scaleToFitType=="fit") {
			//canCenterVertically = scaleNeededToFitHeight>=scaleNeededToFitWidth;
			//canCenterHorizontally = scaleNeededToFitWidth>=scaleNeededToFitHeight;
			canCenterVertically = scaleNeededToFitHeight>=scaleNeededToFit;
			canCenterHorizontally = scaleNeededToFitWidth>=scaleNeededToFit;

			if (hasMinimumScale) {
				desiredScale = Math.max(desiredScale, Number(minimumScale));
			}

			desiredScale = self.getShortNumber(desiredScale);

			if (isSliderChange || scaleToFit==false) {
				canCenterVertically = scaleToFitFullHeight>=desiredScale;
				canCenterHorizontally = desiredScale<scaleToFitFullWidth;
			}
			else if (scaleToFit) {
				desiredScale = scaleNeededToFit;
			}

			transformValue = "scale(" + desiredScale + ")";

			//canCenterHorizontally = self.canCenterHorizontally(view, "fit", false, desiredScale);
			//canCenterVertically = self.canCenterVertically(view, "fit", false, desiredScale);
			
			if (self.centerVertically) {
				if (canCenterVertically) {
					translateY = "-50%";
					topPosition = "50%";
				}
				else {
					translateY = "0";
					topPosition = "0";
				}
				
				if (view.style.top != topPosition) {
					view.style.top = topPosition + "";
				}

				if (canCenterVertically) {
					transformValue += " translateY(" + translateY+ ")";
				}
			}

			if (self.centerHorizontally) {
				if (canCenterHorizontally) {
					translateX = "-50%";
					leftPosition = "50%";
				}
				else {
					translateX = "0";
					leftPosition = "0";
				}

				if (view.style.left != leftPosition) {
					view.style.left = leftPosition + "";
				}

				if (canCenterHorizontally) {
					transformValue += " translateX(" + translateX+ ")";
				}
			}

			view.style.transformOrigin = "0 0";
			view.style.transform = transformValue;

			self.viewScale = desiredScale;
			self.viewToFitWidthScale = scaleNeededToFitWidth;
			self.viewToFitHeightScale = scaleNeededToFitHeight;
			self.viewLeft = leftPosition;
			self.viewTop = topPosition;

			self.updateSliderValue(desiredScale);
			
			return desiredScale;
		}

		if (scaleToFitType=="default" || scaleToFitType=="") {
			desiredScale = 1;

			if (hasMinimumScale) {
				desiredScale = Math.max(desiredScale, Number(minimumScale));
			}
			if (hasMaximumScale) {
				desiredScale = Math.min(desiredScale, Number(maximumScale));
			}

			canCenterHorizontally = self.canCenterHorizontally(view, "none", false, desiredScale, minimumScale, maximumScale);
			canCenterVertically = self.canCenterVertically(view, "none", false, desiredScale, minimumScale, maximumScale);

			if (self.centerVertically) {
				if (canCenterVertically) {
					translateY = "-50%";
					topPosition = "50%";
				}
				else {
					translateY = "0";
					topPosition = "0";
				}
				
				if (view.style.top != topPosition) {
					view.style.top = topPosition + "";
				}

				if (canCenterVertically) {
					transformValue += " translateY(" + translateY+ ")";
				}
			}

			if (self.centerHorizontally) {
				if (canCenterHorizontally) {
					translateX = "-50%";
					leftPosition = "50%";
				}
				else {
					translateX = "0";
					leftPosition = "0";
				}

				if (view.style.left != leftPosition) {
					view.style.left = leftPosition + "";
				}

				if (canCenterHorizontally) {
					transformValue += " translateX(" + translateX+ ")";
				}
				else {
					transformValue += " translateX(" + 0 + ")";
				}
			}

			view.style.transformOrigin = "0 0";
			view.style.transform = transformValue;


			self.viewScale = desiredScale;
			self.viewToFitWidthScale = scaleNeededToFitWidth;
			self.viewToFitHeightScale = scaleNeededToFitHeight;
			self.viewLeft = leftPosition;
			self.viewTop = topPosition;

			self.updateSliderValue(desiredScale);
			
			return desiredScale;
		}
	}

	/**
	 * Returns true if view can be centered horizontally
	 * @param {HTMLElement} view view
	 * @param {String} type type of scaling - width, height, all, none
	 * @param {Boolean} scaleUp if scale up enabled 
	 * @param {Number} scale target scale value 
	 */
	self.canCenterHorizontally = function(view, type, scaleUp, scale, minimumScale, maximumScale) {
		var scaleNeededToFit = self.getViewFitToViewportScale(view, scaleUp);
		var scaleNeededToFitHeight = self.getViewFitToViewportHeightScale(view, scaleUp);
		var scaleNeededToFitWidth = self.getViewFitToViewportWidthScale(view, scaleUp);
		var canCenter = false;
		var minScale;

		type = type==null ? "none" : type;
		scale = scale==null ? scale : scaleNeededToFitWidth;
		scaleUp = scaleUp == null ? false : scaleUp;

		if (type=="width") {
	
			if (scaleUp && maximumScale==null) {
				canCenter = false;
			}
			else if (scaleNeededToFitWidth>=1) {
				canCenter = true;
			}
		}
		else if (type=="height") {
			minScale = Math.min(1, scaleNeededToFitHeight);
			if (minimumScale!="" && maximumScale!="") {
				minScale = Math.max(minimumScale, Math.min(maximumScale, scaleNeededToFitHeight));
			}
			else {
				if (minimumScale!="") {
					minScale = Math.max(minimumScale, scaleNeededToFitHeight);
				}
				if (maximumScale!="") {
					minScale = Math.max(minimumScale, Math.min(maximumScale, scaleNeededToFitHeight));
				}
			}
	
			if (scaleUp && maximumScale=="") {
				canCenter = false;
			}
			else if (scaleNeededToFitWidth>=minScale) {
				canCenter = true;
			}
		}
		else if (type=="fit") {
			canCenter = scaleNeededToFitWidth>=scaleNeededToFit;
		}
		else {
			if (scaleUp) {
				canCenter = false;
			}
			else if (scaleNeededToFitWidth>=1) {
				canCenter = true;
			}
		}

		self.horizontalScrollbarsNeeded = canCenter;
		
		return canCenter;
	}

	/**
	 * Returns true if view can be centered horizontally
	 * @param {HTMLElement} view view to scale
	 * @param {String} type type of scaling
	 * @param {Boolean} scaleUp if scale up enabled 
	 * @param {Number} scale target scale value 
	 */
	self.canCenterVertically = function(view, type, scaleUp, scale, minimumScale, maximumScale) {
		var scaleNeededToFit = self.getViewFitToViewportScale(view, scaleUp);
		var scaleNeededToFitWidth = self.getViewFitToViewportWidthScale(view, scaleUp);
		var scaleNeededToFitHeight = self.getViewFitToViewportHeightScale(view, scaleUp);
		var canCenter = false;
		var minScale;

		type = type==null ? "none" : type;
		scale = scale==null ? 1 : scale;
		scaleUp = scaleUp == null ? false : scaleUp;
	
		if (type=="width") {
			canCenter = scaleNeededToFitHeight>=scaleNeededToFitWidth;
		}
		else if (type=="height") {
			minScale = Math.max(minimumScale, Math.min(maximumScale, scaleNeededToFit));
			canCenter = scaleNeededToFitHeight>=minScale;
		}
		else if (type=="fit") {
			canCenter = scaleNeededToFitHeight>=scaleNeededToFit;
		}
		else {
			if (scaleUp) {
				canCenter = false;
			}
			else if (scaleNeededToFitHeight>=1) {
				canCenter = true;
			}
		}

		self.verticalScrollbarsNeeded = canCenter;
		
		return canCenter;
	}

	self.getViewFitToViewportScale = function(view, scaleUp) {
		var enableScaleUp = scaleUp;
		var availableWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
		var availableHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
		var elementWidth = parseFloat(getComputedStyle(view, "style").width);
		var elementHeight = parseFloat(getComputedStyle(view, "style").height);
		var newScale = 1;

		// if element is not added to the document computed values are NaN
		if (isNaN(elementWidth) || isNaN(elementHeight)) {
			return newScale;
		}

		availableWidth -= self.horizontalPadding;
		availableHeight -= self.verticalPadding;

		if (enableScaleUp) {
			newScale = Math.min(availableHeight/elementHeight, availableWidth/elementWidth);
		}
		else if (elementWidth > availableWidth || elementHeight > availableHeight) {
			newScale = Math.min(availableHeight/elementHeight, availableWidth/elementWidth);
		}
		
		return newScale;
	}

	self.getViewFitToViewportWidthScale = function(view, scaleUp) {
		// need to get browser viewport width when element
		var isParentWindow = view && view.parentNode && view.parentNode===document.body;
		var enableScaleUp = scaleUp;
		var availableWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
		var elementWidth = parseFloat(getComputedStyle(view, "style").width);
		var newScale = 1;

		// if element is not added to the document computed values are NaN
		if (isNaN(elementWidth)) {
			return newScale;
		}

		availableWidth -= self.horizontalPadding;

		if (enableScaleUp) {
			newScale = availableWidth/elementWidth;
		}
		else if (elementWidth > availableWidth) {
			newScale = availableWidth/elementWidth;
		}
		
		return newScale;
	}

	self.getViewFitToViewportHeightScale = function(view, scaleUp) {
		var enableScaleUp = scaleUp;
		var availableHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
		var elementHeight = parseFloat(getComputedStyle(view, "style").height);
		var newScale = 1;

		// if element is not added to the document computed values are NaN
		if (isNaN(elementHeight)) {
			return newScale;
		}

		availableHeight -= self.verticalPadding;

		if (enableScaleUp) {
			newScale = availableHeight/elementHeight;
		}
		else if (elementHeight > availableHeight) {
			newScale = availableHeight/elementHeight;
		}
		
		return newScale;
	}

	self.keypressHandler = function(event) {
		var rightKey = 39;
		var leftKey = 37;
		
		// listen for both events 
		if (event.type=="keypress") {
			window.removeEventListener("keyup", self.keypressHandler);
		}
		else {
			window.removeEventListener("keypress", self.keypressHandler);
		}
		
		if (self.showNavigationControls) {
			if (self.navigationOnKeypress) {
				if (event.keyCode==rightKey) {
					self.nextView();
				}
				if (event.keyCode==leftKey) {
					self.previousView();
				}
			}
		}
		else if (self.navigationOnKeypress) {
			if (event.keyCode==rightKey) {
				self.nextView();
			}
			if (event.keyCode==leftKey) {
				self.previousView();
			}
		}
	}

	///////////////////////////////////
	// GENERAL FUNCTIONS
	///////////////////////////////////

	self.getViewById = function(id) {
		id = id ? id.replace("#", "") : "";
		var view = self.viewIds.indexOf(id)!=-1 && self.getElement(id);
		return view;
	}

	self.getViewIds = function() {
		var viewIds = self.getViewPreferenceValue(document.body, self.prefix + "view-ids");
		var viewId = null;

		viewIds = viewIds!=null && viewIds!="" ? viewIds.split(",") : [];

		if (viewIds.length==0) {
			viewId = self.getViewPreferenceValue(document.body, self.prefix + "view-id");
			viewIds = viewId ? [viewId] : [];
		}

		return viewIds;
	}

	self.getInitialViewId = function() {
		var viewId = self.getViewPreferenceValue(document.body, self.prefix + "view-id");
		return viewId;
	}

	self.getApplicationStylesheet = function() {
		var stylesheetId = self.getViewPreferenceValue(document.body, self.prefix + "stylesheet-id");
		self.applicationStylesheet = document.getElementById("applicationStylesheet");
		return self.applicationStylesheet.sheet;
	}

	self.getVisibleView = function() {
		var viewIds = self.getViewIds();
		
		for (var i=0;i<viewIds.length;i++) {
			var viewId = viewIds[i].replace(/[\#?\.?](.*)/, "$" + "1");
			var view = self.getElement(viewId);
			var postName = "_Class";

			if (view==null && viewId && viewId.lastIndexOf(postName)!=-1) {
				view = self.getElement(viewId.replace(postName, ""));
			}
			
			if (view) {
				var display = getComputedStyle(view).display;
		
				if (display=="block" || display=="flex") {
					return view;
				}
			}
		}

		return null;
	}

	self.getInitialView = function() {
		var viewId = self.getInitialViewId();
		viewId = viewId.replace(/[\#?\.?](.*)/, "$" + "1");
		var view = self.getElement(viewId);
		var postName = "_Class";

		if (view==null && viewId && viewId.lastIndexOf(postName)!=-1) {
			view = self.getElement(viewId.replace(postName, ""));
		}

		return view;
	}

	self.getViewIndex = function(view) {
		var viewIds = self.getViewIds();
		var id = view ? view.id : null;
		var index = id && viewIds ? viewIds.indexOf(id) : -1;

		return index;
	}

	self.syncronizeViewToURL = function() {
		var fragment = window.location.hash;
		var view = self.getViewById(fragment);
		var index = view ? self.getViewIndex(view) : 0;
		if (index==-1) index = 0;
		var currentView = self.hideViews(index);

		if (self.supportsPopState && currentView) {

			if (fragment==null) {
				window.history.replaceState({name:currentView.id}, null, "#"+ currentView.id);
			}
			else {
				window.history.pushState({name:currentView.id}, null, "#"+ currentView.id);
			}
		}
		
		self.setViewVariables(view);
		return view;
	}

	/**
	 * Set the currentView or currentOverlay properties and set the lastView or lastOverlay properties
	 */
	self.setViewVariables = function(view, overlay, parentView) {
		if (view) {
			if (self.currentView) {
				self.lastView = self.currentView;
			}
			self.currentView = view;
		}

		if (overlay) {
			if (self.currentOverlay) {
				self.lastOverlay = self.currentOverlay;
			}
			self.currentOverlay = overlay;
		}
	}

	self.getViewPreferenceBoolean = function(view, property, altValue) {
		var computedStyle = window.getComputedStyle(view);
		var value = computedStyle.getPropertyValue(property);
		var type = typeof value;
		
		if (value=="true" || (type=="string" && value.indexOf("true")!=-1)) {
			return true;
		}
		else if (value=="" && arguments.length==3) {
			return altValue;
		}

		return false;
	}

	self.getViewPreferenceValue = function(view, property, defaultValue) {
		var value = window.getComputedStyle(view).getPropertyValue(property);

		if (value===undefined) {
			return defaultValue;
		}
		
		value = value.replace(/^[\s\"]*/, "");
		value = value.replace(/[\s\"]*$/, "");
		value = value.replace(/^[\s"]*(.*?)[\s"]*$/, function (match, capture) { 
			return capture;
		});

		return value;
	}

	self.getStyleRuleValue = function(cssRule, property) {
		var value = cssRule ? cssRule.style.getPropertyValue(property) : null;

		if (value===undefined) {
			return null;
		}
		
		value = value.replace(/^[\s\"]*/, "");
		value = value.replace(/[\s\"]*$/, "");
		value = value.replace(/^[\s"]*(.*?)[\s"]*$/, function (match, capture) { 
			return capture;
		});

		return value;
	}

	self.getCSSPropertyValueForElement = function(id, property) {
		var styleSheets = document.styleSheets;
		var numOfStylesheets = styleSheets.length;
		var values = [];
		var selectorIDText = "#" + id;
		var selectorClassText = "." + id + "_Class";
		var value;

		for(var i=0;i<numOfStylesheets;i++) {
			var styleSheet = styleSheets[i];
			var cssRules = self.getStylesheetRules(styleSheet);
			var numOfCSSRules = cssRules.length;
			var cssRule;
			
			for (var j=0;j<numOfCSSRules;j++) {
				cssRule = cssRules[j];
				
				if (cssRule.media) {
					var mediaRules = cssRule.cssRules;
					var numOfMediaRules = mediaRules ? mediaRules.length : 0;
					
					for(var k=0;k<numOfMediaRules;k++) {
						var mediaRule = mediaRules[k];
						
						if (mediaRule.selectorText==selectorIDText || mediaRule.selectorText==selectorClassText) {
							
							if (mediaRule.style && property in mediaRule.style) {
								value = mediaRule.style.getPropertyValue(property);
								values.push(value);
							}
						}
					}
				}
				else {

					if (cssRule.selectorText==selectorIDText || cssRule.selectorText==selectorClassText) {
						if (cssRule.style && property in cssRule.style) {
							value = cssRule.style.getPropertyValue(property);
							values.push(value);
						}
					}
				}
			}
		}
		
		return values.pop();
	}

	self.collectViews = function() {
		var viewIds = self.getViewIds();

		for (let index = 0; index < viewIds.length; index++) {
			const id = viewIds[index];
			const view = self.getViewById(id);
			//view && view.addEventListener("animationend", self.animationEndHandler);
			self.views[id] = view;
		}
		
		self.viewIds = viewIds;
	}

	self.collectOverlays = function() {
		var viewIds = self.getViewIds();
		var ids = [];

		for (let index = 0; index < viewIds.length; index++) {
			const id = viewIds[index];
			const view = self.getViewById(id);
			const isOverlay = view && self.isOverlay(view);
			
			if (isOverlay) {
				ids.push(id);
				self.overlays[id] = view;
			}
		}
		
		self.overlayIds = ids;
	}

	self.collectMediaQueries = function() {
		var viewIds = self.getViewIds();
		var styleSheet = self.getApplicationStylesheet();
		var cssRules = self.getStylesheetRules(styleSheet);
		var numOfCSSRules = cssRules ? cssRules.length : 0;
		var cssRule;
		var id = viewIds.length ? viewIds[0]: ""; // single view
		var selectorIDText = "#" + id;
		var selectorClassText = "." + id + "_Class";
		var viewsNotFound = viewIds.slice();
		var viewsFound = [];
		var selectorText = null;
		var property = self.prefix + "view-id";
		
		for (var j=0;j<numOfCSSRules;j++) {
			cssRule = cssRules[j];
			
			if (cssRule.media) {
				var mediaRules = cssRule.cssRules;
				var numOfMediaRules = mediaRules ? mediaRules.length : 0;
				
				for(var k=0;k<numOfMediaRules;k++) {
					var mediaRule = mediaRules[k];
					var mediaId = null;

					selectorText = mediaRule.selectorText;
					
					if (selectorText==".mediaViewInfo") {

						mediaId = self.getStyleRuleValue(mediaRule, property);

						self.addView(mediaId, cssRule);
						viewsFound.push(mediaId);

						if (viewsNotFound.indexOf(mediaId)!=-1) {
							viewsNotFound.splice(viewsNotFound.indexOf(mediaId));
						}

						break;
					}
				}
			}
			else {
				selectorText = cssRule.selectorText.replace(/[#|\s|*]?/g, "");

				if (viewIds.indexOf(selectorText)!=-1) {
					self.addView(selectorText, cssRule);

					if (viewsNotFound.indexOf(selectorText)!=-1) {
						viewsNotFound.splice(viewsNotFound.indexOf(selectorText));
					}

					break;
				}
			}
		}

		if (viewsNotFound.length) {
			console.log("Could not find the following views:" + viewsNotFound.join(",") + "");
			console.log("Views found:" + viewsFound.join(",") + "");
		}
	}

	/**
	 * Adds a view. A view object contains the id of the view and the style rule
	 * Use enableMediaQuery(rule) to enable
	 * An array of view names are in self.views array
	 */
	self.addView = function(name, cssRule, parentId) {
		var state = {name:name, rule:cssRule, id:name, parentId:parentId};
		self.addedViews.push(name);
		self.viewsDictionary[name] = state;
		self.mediaQueryDictionary[name] = cssRule;
	}

	self.hasView = function(name) {

		if (self.addedViews.indexOf(name)!=-1) {
			return true;
		}
		return false;
	}

	/**
	 * Go to view by id. Views are added in addView()
	 * @param {String} name id of view in current
	 * @param {String} parent id of parent view
	 * @param {Boolean} maintainPreviousState if true then do not hide other views
	 */
	self.goToView = function(name, maintainPreviousState, parent) {
		var state = self.viewsDictionary[name];

		if (state) {
			if (maintainPreviousState==false || maintainPreviousState==null) {
				self.hideViews();
			}
			self.enableMediaQuery(state.rule);
			self.updateViewLabel();
			self.updateURL();
		}
		else {
			var event = new Event(self.STATE_NOT_FOUND);
			self.stateName = name;
			window.dispatchEvent(event);
		}
	}

	/**
	 * Go to the view in the event targets CSS variable
	 */
	self.goToTargetView = function(event) {
		var button = event.currentTarget;
		var buttonComputedStyles = getComputedStyle(button);
		var actionTargetValue = buttonComputedStyles.getPropertyValue(self.prefix+"action-target").trim();
		var animation = buttonComputedStyles.getPropertyValue(self.prefix+"animation").trim();
		var targetType = buttonComputedStyles.getPropertyValue(self.prefix+"action-type").trim();
		var targetView = self.application ? null : self.getElement(actionTargetValue);
		var actionTargetStyles = targetView ? targetView.style : null;
		var state = self.viewsDictionary[actionTargetValue];
		
		// navigate to page
		if (self.application==false || targetType=="page") {
			document.location.href = "./" + actionTargetValue;
			return;
		}

		// if view is found
		if (targetView) {

			if (self.currentOverlay) {
				self.removeOverlay(false);
			}

			// add animation set in event target style declaration
			if (animation && self.supportAnimations) {
				self.crossFade(self.currentView, targetView, false, animation);
			}
			else {
				self.setViewVariables(self.currentView);
				self.hideViews();
				self.enableMediaQuery(state.rule);
				self.scaleViewIfNeeded(targetView);
				self.centerView(targetView);
				self.updateViewLabel();
				self.updateURL();
			}
		}
		else {
			var stateEvent = new Event(self.STATE_NOT_FOUND);
			self.stateName = name;
			window.dispatchEvent(stateEvent);
		}

		event.stopImmediatePropagation();
	}

	/**
	 * Cross fade between views
	 **/
	self.crossFade = function(from, to, update, animation) {
		var targetIndex = to.parentNode
		var fromIndex = Array.prototype.slice.call(from.parentElement.children).indexOf(from);
		var toIndex = Array.prototype.slice.call(to.parentElement.children).indexOf(to);

		if (from.parentNode==to.parentNode) {
			var reverse = self.getReverseAnimation(animation);
			var duration = self.getAnimationDuration(animation, true);

			// if target view is above (higher index)
			// then fade in target view 
			// and after fade in then hide previous view instantly
			if (fromIndex<toIndex) {
				self.setElementAnimation(from, null);
				self.setElementAnimation(to, null);
				self.showViewByMediaQuery(to);
				self.fadeIn(to, update, animation);

				setTimeout(function() {
					self.setElementAnimation(to, null);
					self.setElementAnimation(from, null);
					self.hideView(from);
					self.updateURL();
					self.setViewVariables(to);
					self.updateViewLabel();
				}, duration)
			}
			// if target view is on bottom
			// then show target view instantly 
			// and fade out current view
			else if (fromIndex>toIndex) {
				self.setElementAnimation(to, null);
				self.setElementAnimation(from, null);
				self.showViewByMediaQuery(to);
				self.fadeOut(from, update, reverse);

				setTimeout(function() {
					self.setElementAnimation(to, null);
					self.setElementAnimation(from, null);
					self.hideView(from);
					self.updateURL();
					self.setViewVariables(to);
				}, duration)
			}
		}
	}

	self.fadeIn = function(element, update, animation) {
		self.showViewByMediaQuery(element);

		if (update) {
			self.updateURL(element);

			element.addEventListener("animationend", function(event) {
				element.style.animation = null;
				self.setViewVariables(element);
				self.updateViewLabel();
				element.removeEventListener("animationend", arguments.callee);
			});
		}

		self.setElementAnimation(element, null);
		
		element.style.animation = animation;
	}

	self.fadeOutCurrentView = function(animation, update) {
		if (self.currentView) {
			self.fadeOut(self.currentView, update, animation);
		}
		if (self.currentOverlay) {
			self.fadeOut(self.currentOverlay, update, animation);
		}
	}

	self.fadeOut = function(element, update, animation) {
		if (update) {
			element.addEventListener("animationend", function(event) {
				element.style.animation = null;
				self.hideView(element);
				element.removeEventListener("animationend", arguments.callee);
			});
		}

		element.style.animationPlayState = "paused";
		element.style.animation = animation;
		element.style.animationPlayState = "running";
	}

	self.getReverseAnimation = function(animation) {
		if (animation && animation.indexOf("reverse")==-1) {
			animation += " reverse";
		}

		return animation;
	}

	/**
	 * Get duration in animation string
	 * @param {String} animation animation value
	 * @param {Boolean} inMilliseconds length in milliseconds if true
	 */
	self.getAnimationDuration = function(animation, inMilliseconds) {
		var duration = 0;
		var expression = /.+(\d\.\d)s.+/;

		if (animation && animation.match(expression)) {
			duration = parseFloat(animation.replace(expression, "$" + "1"));
			if (duration && inMilliseconds) duration = duration * 1000;
		}

		return duration;
	}

	self.setElementAnimation = function(element, animation, priority) {
		element.style.setProperty("animation", animation, "important");
	}

	self.getElement = function(id) {
		var elementId = id ? id.trim() : id;
		var element = elementId ? document.getElementById(elementId) : null;

		return element;
	}

	self.resizeHandler = function(event) {
		var view = self.getVisibleView();

		if (self.showByMediaQuery && view) {
			self.setViewOptions(view);
			self.setViewVariables(view);
		}
		else {
			self.scaleViewIfNeeded();
		}

		window.dispatchEvent(new Event(self.APPLICATION_RESIZE));
	}

	self.scaleViewIfNeeded = function(view) {

		if (self.scaleViewsOnResize) {
			if (view==null) {
				view = self.getVisibleView();
			}

			var isViewScaled = view.getAttributeNS(null, self.SIZE_STATE_NAME)=="false" ? false : true;

			if (isViewScaled) {
				self.scaleViewToFit(view, true);
			}
			else {
				self.scaleViewToActualSize(view);
			}
		}
		else if (view) {
			self.centerView(view);
		}
	}

	self.centerView = function(view) {

		if (self.scaleToFit) {
			self.scaleViewToFit(view, true);
		}
		else {
			self.scaleViewToActualSize(view);  // for centering support for now
		}
	}

	self.preventDoubleClick = function(event) {
		event.stopImmediatePropagation();
	}

	self.hashChangeHandler = function(event) {
		var fragment = window.location.hash ? window.location.hash.replace("#", "") : "";
		var view = self.getViewById(fragment);

		if (view) {
			self.hideViews();
			self.showView(view);
			self.setViewVariables(view);
			self.updateViewLabel();
			window.dispatchEvent(new Event(self.VIEW_CHANGE));
		}
		else {
			window.dispatchEvent(new Event(self.VIEW_NOT_FOUND));
		}
	}

	self.popStateHandler = function(event) {
		var state = event.state;
		var fragment = state ? state.name : window.location.hash;
		var view = self.getViewById(fragment);

		if (view) {
			self.hideViews();
			self.showView(view);
			self.updateViewLabel();
		}
		else {
			window.dispatchEvent(new Event(self.VIEW_NOT_FOUND));
		}
	}

	self.doubleClickHandler = function(event) {
		var view = self.getVisibleView();
		var scaleValue = view ? self.getViewScaleValue(view) : 1;
		var scaleNeededToFit = view ? self.getViewFitToViewportScale(view) : 1;
		var scaleNeededToFitWidth = view ? self.getViewFitToViewportWidthScale(view) : 1;
		var scaleNeededToFitHeight = view ? self.getViewFitToViewportHeightScale(view) : 1;
		var scaleToFitType = self.scaleToFitType;

		// Three scenarios
		// - scale to fit on double click
		// - set scale to actual size on double click
		// - switch between scale to fit and actual page size

		if (scaleToFitType=="width") {
			scaleNeededToFit = scaleNeededToFitWidth;
		}
		else if (scaleToFitType=="height") {
			scaleNeededToFit = scaleNeededToFitHeight;
		}

		// if scale and actual size enabled then switch between
		if (self.scaleToFitOnDoubleClick && self.actualSizeOnDoubleClick) {
			var isViewScaled = view.getAttributeNS(null, self.SIZE_STATE_NAME);
			var isScaled = false;
			
			// if scale is not 1 then view needs scaling
			if (scaleNeededToFit!=1) {

				// if current scale is at 1 it is at actual size
				// scale it to fit
				if (scaleValue==1) {
					self.scaleViewToFit(view);
					isScaled = true;
				}
				else {
					// scale is not at 1 so switch to actual size
					self.scaleViewToActualSize(view);
					isScaled = false;
				}
			}
			else {
				// view is smaller than viewport 
				// so scale to fit() is scale actual size
				// actual size and scaled size are the same
				// but call scale to fit to retain centering
				self.scaleViewToFit(view);
				isScaled = false;
			}
			
			view.setAttributeNS(null, self.SIZE_STATE_NAME, isScaled+"");
			isViewScaled = view.getAttributeNS(null, self.SIZE_STATE_NAME);
		}
		else if (self.scaleToFitOnDoubleClick) {
			self.scaleViewToFit(view);
		}
		else if (self.actualSizeOnDoubleClick) {
			self.scaleViewToActualSize(view);
		}

	}

	self.scaleViewToFit = function(view) {
		return self.setViewScaleValue(view, true);
	}

	self.scaleViewToActualSize = function(view) {
		self.setViewScaleValue(view, false, 1);
	}

	self.onloadHandler = function(event) {
		self.initialize();
	}

	self.getStackArray = function(error) {
		var value = "";
		
		if (error==null) {
		  try {
			 error = new Error("Stack");
		  }
		  catch (e) {
			 
		  }
		}
		
		if ("stack" in error) {
		  value = error.stack;
		  var methods = value.split(/\n/g);
	 
		  var newArray = methods ? methods.map(function (value, index, array) {
			 value = value.replace(/\@.*/,"");
			 return value;
		  }) : null;
	 
		  if (newArray && newArray[0].includes("getStackTrace")) {
			 newArray.shift();
		  }
		  if (newArray && newArray[0].includes("getStackArray")) {
			 newArray.shift();
		  }
		  if (newArray && newArray[0]=="") {
			 newArray.shift();
		  }
	 
			return newArray;
		}
		
		return null;
	}

	self.log = function(value) {
		console.log.apply(this, [value]);
	}
	
	// initialize on load
	// sometimes the body size is 0 so we call this now and again later
	window.addEventListener("load", self.onloadHandler);
	window.document.addEventListener("DOMContentLoaded", self.onloadHandler);
}

window.application = new Application();
</script>
</head>
<body>
<div id="ID404__">
	<div id="__43">
		<div id="ID404">
			<span>404</span>
		</div>
		<div id="____________">
			<span>抱歉，您访问的页面不存在</span>
		</div>
		<svg class="___79" viewBox="211.342 501.92 24.279 36.437">
			<path fill="rgba(255,197,105,1)" id="___79" d="M 221.6078186035156 533.2705688476563 L 221.4621124267578 534.3450927734375 C 221.3624877929688 535.144287109375 221.3558807373047 535.9409790039063 221.3910064697266 536.6806640625 C 221.4309234619141 537.5444946289063 222.1029357910156 538.2686767578125 222.9886932373047 538.3494262695313 C 223.9561004638672 538.4371948242188 224.8119964599609 537.724365234375 224.9002227783203 536.7569580078125 L 224.9019927978516 536.7371826171875 C 224.9608001708984 536.0928955078125 225.0384979248047 535.50244140625 225.1591949462891 534.9336547851563 L 225.3874359130859 533.964111328125 C 225.4721527099609 533.5953979492188 225.5529022216797 533.1854248046875 225.6069183349609 532.7896118164063 C 225.7166290283203 531.9928588867188 225.7434234619141 531.2216796875 225.7741241455078 530.5272827148438 C 225.7819976806641 530.3416137695313 225.7833404541016 530.1498413085938 225.7877349853516 529.960205078125 C 226.0879669189453 527.984619140625 226.3175201416016 525.8574829101563 227.0518341064453 524.0807495117188 C 227.6650238037109 522.5975341796875 229.3325347900391 522.4606323242188 230.8643951416016 522.116943359375 C 230.8955535888672 522.121826171875 230.9232025146484 522.126220703125 230.9552459716797 522.1314697265625 C 231.3976593017578 522.2012329101563 231.9529266357422 522.2886352539063 232.4748077392578 522.3096313476563 C 233.0001983642578 522.3368530273438 233.5001373291016 522.3179321289063 233.9855804443359 522.2828979492188 C 234.7980499267578 522.2244873046875 235.4880523681641 521.6060791015625 235.6043853759766 520.7672729492188 C 235.7377777099609 519.803466796875 235.0644683837891 518.9136962890625 234.1006011962891 518.77978515625 L 234.0422210693359 518.77197265625 C 233.6449737548828 518.7166137695313 233.2622528076172 518.6573486328125 232.9102020263672 518.582275390625 C 232.5542755126953 518.5050048828125 232.2421722412109 518.4168090820313 231.8242950439453 518.2890625 C 231.4169769287109 518.1696166992188 230.8977508544922 518.0419311523438 230.3960418701172 517.9586181640625 C 228.8330230712891 517.4406127929688 226.9351043701172 516.9030151367188 226.5720977783203 515.2315063476563 C 226.3065338134766 514.0081787109375 226.2815399169922 512.8335571289063 225.9181060791016 511.6805419921875 L 225.9172515869141 511.6721801757813 C 225.8303070068359 510.9910278320313 225.7851104736328 510.4326782226563 225.7578887939453 509.7803955078125 C 225.7306671142578 509.1527709960938 225.7262725830078 508.4447631835938 225.7166290283203 507.7719116210938 C 225.6850433349609 506.4437255859375 225.7157440185547 504.9877319335938 225.6305999755859 503.591552734375 L 225.6297454833984 503.572265625 C 225.5783538818359 502.7128295898438 224.9015350341797 501.9990844726563 224.0184173583984 501.92626953125 C 223.0497283935547 501.8463745117188 222.1999359130859 502.566650390625 222.1195983886719 503.534912109375 L 221.7790222167969 507.6630859375 C 221.7342376708984 508.3749389648438 221.6951751708984 509.0523071289063 221.6736755371094 509.809814453125 C 221.6486358642578 510.5432739257813 221.6885833740234 511.3693237304688 221.74169921875 512.0663452148438 C 221.7627563476563 512.3568725585938 221.7768096923828 512.624267578125 221.7860412597656 512.8876342773438 C 221.5951080322266 513.7193603515625 221.37255859375 514.5396728515625 221.0574035644531 515.3082275390625 C 220.2585601806641 517.258056640625 218.4308776855469 517.5165405273438 216.5329437255859 517.6578979492188 C 216.2120819091797 517.6815185546875 215.9307403564453 517.795654296875 215.7081909179688 517.9747924804688 C 215.5989074707031 517.9906616210938 215.4913635253906 518.0064086914063 215.3882141113281 518.0230712890625 C 214.9536743164063 518.0982055664063 214.5841217041016 518.1560668945313 214.1877593994141 518.2069702148438 C 213.7940063476563 518.256103515625 213.3836364746094 518.2978515625 212.9648742675781 518.3391723632813 L 212.9315338134766 518.3421630859375 C 212.1212921142578 518.4219360351563 211.4483947753906 519.05810546875 211.3536071777344 519.89990234375 C 211.2442932128906 520.8677978515625 211.9404296875 521.7412719726563 212.9082946777344 521.85009765625 C 213.3726501464844 521.9027709960938 213.8453979492188 521.9439697265625 214.3343505859375 521.9594116210938 C 214.7469482421875 521.9751586914063 215.1748962402344 521.964599609375 215.5672912597656 521.9532470703125 C 217.4410858154297 522.2578125 220.0628204345703 522.5751342773438 220.6421661376953 524.1426391601563 C 221.4577178955078 526.3482666015625 221.45947265625 529.2095947265625 221.7000122070313 531.5319213867188 C 221.7013244628906 531.5430297851563 221.704833984375 531.5517578125 221.7061614990234 531.5623168945313 C 221.7065887451172 531.8471069335938 221.7021789550781 532.122314453125 221.6859588623047 532.38916015625 C 221.6745452880859 532.682861328125 221.6482086181641 532.9581298828125 221.6078186035156 533.2705688476563 Z">
			</path>
		</svg>
		<svg class="___80" viewBox="708.167 257.068 21.437 32.101">
			<path fill="rgba(255,197,105,1)" id="___80" d="M 709.6668090820313 274.3174438476563 L 709.7067260742188 274.3236389160156 C 710.410400390625 274.43115234375 711.0340576171875 274.5382385253906 711.6226806640625 274.7217102050781 L 712.6659545898438 275.0429992675781 C 712.9434204101563 275.1259460449219 713.2501831054688 275.1970520019531 713.56005859375 275.26025390625 C 714.4835205078125 275.5868530273438 715.3718872070313 276.0305786132813 715.6887817382813 276.8272094726563 C 716.2296142578125 278.1874694824219 716.1945190429688 279.9682312011719 716.3920288085938 281.4065856933594 C 716.3967895507813 281.4412231445313 716.4083251953125 281.4689025878906 716.4148559570313 281.5017700195313 C 716.4179077148438 281.707275390625 716.4217529296875 281.9161376953125 716.4319458007813 282.1431274414063 C 716.4605102539063 282.8089599609375 716.519775390625 283.5257568359375 716.6549682617188 284.2249145507813 C 716.797607421875 284.9412536621094 716.954345703125 285.4539489746094 717.0372314453125 285.9363403320313 C 717.1259155273438 286.4239501953125 717.1785278320313 286.952392578125 717.2215576171875 287.5077209472656 L 717.2242431640625 287.54541015625 C 717.2891845703125 288.3934326171875 717.9625244140625 289.0922241210938 718.8367919921875 289.162841796875 C 719.8056030273438 289.241455078125 720.6544799804688 288.5194091796875 720.7326049804688 287.5506896972656 C 720.7852172851563 286.8993225097656 720.8119506835938 286.2172241210938 720.7562255859375 285.5057067871094 C 720.7096557617188 284.7863159179688 720.5877685546875 284.1204223632813 720.5531005859375 283.6424560546875 C 720.5025024414063 283.1478271484375 720.4985961914063 282.6548767089844 720.5184326171875 282.1141662597656 L 720.5552368164063 281.2604064941406 L 720.5811767578125 280.777587890625 C 720.8931884765625 279.3348693847656 721.1837768554688 277.7573547363281 721.8184814453125 276.5550842285156 C 722.3289184570313 275.5873107910156 723.7300415039063 275.2795715332031 725.0577392578125 275.1075134277344 C 725.2341918945313 275.1114807128906 725.4141235351563 275.1154479980469 725.6024169921875 275.1184997558594 C 726.4242553710938 275.1202392578125 727.2384033203125 275.0877685546875 728.0275268554688 275.0012817382813 C 728.8114624023438 274.9153137207031 729.4698486328125 274.3086853027344 729.5861206054688 273.4917907714844 C 729.7235717773438 272.5248718261719 729.0506591796875 271.6294555664063 728.083740234375 271.4920959472656 L 728.070556640625 271.4898681640625 C 727.6988525390625 271.4372253417969 727.3335571289063 271.3906860351563 726.9728393554688 271.3432922363281 C 726.9539794921875 271.3362426757813 726.938720703125 271.3266296386719 726.9188232421875 271.3199462890625 C 724.1311645507813 270.4369201660156 721.5691528320313 269.1354675292969 720.8572998046875 266.3627624511719 C 720.8089599609375 266.1358642578125 720.76904296875 265.9264526367188 720.740966796875 265.7034912109375 C 720.6751098632813 265.2330017089844 720.6593017578125 264.6987609863281 720.6513061523438 264.1584167480469 C 720.6452026367188 263.6185913085938 720.6618041992188 263.1291809082031 720.7260131835938 262.6385192871094 C 720.7733764648438 262.1643981933594 720.916015625 261.5011901855469 720.983154296875 260.7809448242188 C 721.0595092773438 260.0685424804688 721.0499267578125 259.3837585449219 721.013916015625 258.7302551269531 C 720.9674072265625 257.8800659179688 720.3085327148438 257.1658935546875 719.43505859375 257.0772399902344 C 718.4681396484375 256.9789428710938 717.6047973632813 257.6829833984375 717.5064697265625 258.6494750976563 L 717.5025024414063 258.6872253417969 C 717.4463500976563 259.2402954101563 717.3804321289063 259.7648010253906 717.278564453125 260.2476196289063 C 717.1829833984375 260.7247619628906 717.0109252929688 261.2312622070313 716.8480224609375 261.9462890625 C 716.6918334960938 262.643310546875 716.6145629882813 263.3613586425781 716.5689086914063 264.0281066894531 C 716.5245971679688 264.6943969726563 716.5140991210938 265.3703308105469 716.5658569335938 266.1025085449219 C 716.578125 266.2854919433594 716.5965576171875 266.4703063964844 716.6185913085938 266.6541748046875 C 716.5855712890625 267.0584716796875 716.5276489257813 267.46533203125 716.4122314453125 267.8775024414063 C 715.8157958984375 270.0045776367188 713.5460205078125 270.6383666992188 711.565185546875 270.7774963378906 C 710.9387817382813 270.73974609375 710.3238525390625 270.7520446777344 709.7501220703125 270.8121948242188 C 708.9705200195313 270.894287109375 708.311767578125 271.4911804199219 708.1875610351563 272.3023681640625 C 708.0396728515625 273.2675476074219 708.7019653320313 274.1695251464844 709.6668090820313 274.3174438476563 Z">
			</path>
		</svg>
		<svg class="___84" viewBox="539.223 379.228 11.394 16.608">
			<path fill="rgba(255,197,105,1)" id="___84" d="M 547.690673828125 390.2117004394531 C 548.07958984375 389.8737182617188 548.502685546875 389.6512145996094 548.8897705078125 389.3799743652344 C 549.006591796875 389.3553771972656 549.123779296875 389.3316650390625 549.240966796875 389.302734375 C 549.8660888671875 389.146484375 550.3896484375 388.6605834960938 550.5599365234375 387.9925842285156 C 550.806640625 387.0238037109375 550.2215576171875 386.0383911132813 549.25244140625 385.7913513183594 C 548.9754638671875 385.7206726074219 548.6976318359375 385.6658020019531 548.420166015625 385.6174621582031 C 547.9281005859375 385.3493041992188 547.4764404296875 384.9910888671875 547.3048095703125 384.4617614746094 C 547.0968017578125 383.8192138671875 547.103759765625 383.1800842285156 546.9141845703125 382.5450439453125 C 546.860107421875 381.9405822753906 546.791259765625 381.3357238769531 546.696533203125 380.7309265136719 C 546.5797119140625 379.9939270019531 546.00341796875 379.3785400390625 545.2269287109375 379.2517395019531 C 544.2578125 379.0928344726563 543.343505859375 379.7498474121094 543.18505859375 380.7190551757813 C 543.070068359375 381.4213256835938 542.9912109375 382.1231689453125 542.92919921875 382.8255004882813 C 542.873046875 382.9715881347656 542.83740234375 383.1353149414063 542.8387451171875 383.3236694335938 C 542.84716796875 384.3397827148438 542.283447265625 385.1627502441406 541.4429931640625 385.5898742675781 C 541.1602783203125 385.63720703125 540.8775634765625 385.6916809082031 540.594970703125 385.7622985839844 C 539.9730224609375 385.9194641113281 539.451416015625 386.4031982421875 539.2803955078125 387.0681457519531 C 539.031005859375 388.0368347167969 539.614501953125 389.0244445800781 540.5831298828125 389.2737426757813 C 540.6766357421875 389.2979125976563 540.77001953125 389.3168029785156 540.8631591796875 389.3378295898438 C 541.1922607421875 389.5661010742188 541.6114501953125 389.6376037597656 541.88623046875 389.9220581054688 C 542.16796875 390.2134704589844 542.31982421875 390.786376953125 542.4783935546875 391.1470642089844 L 542.8843994140625 392.0736389160156 C 542.9423828125 392.8273010253906 543.0203857421875 393.5805969238281 543.1395263671875 394.3341979980469 C 543.256103515625 395.0702209472656 543.8316650390625 395.6847534179688 544.607666015625 395.8125 C 545.5767822265625 395.9718017578125 546.491455078125 395.315185546875 546.6507568359375 394.3460083007813 C 546.7193603515625 393.9276428222656 546.7733154296875 393.5094299316406 546.821044921875 393.0910949707031 C 546.8966064453125 392.9282836914063 546.934326171875 392.75048828125 546.9119873046875 392.5661315917969 C 546.9041748046875 392.4994201660156 546.90087890625 392.43310546875 546.8966064453125 392.3668518066406 C 546.9261474609375 392.0429382324219 546.9520263671875 391.7190246582031 546.973876953125 391.3946533203125 C 547.0859375 390.950439453125 547.31005859375 390.542236328125 547.690673828125 390.2117004394531 Z">
			</path>
		</svg>
		<svg class="___115" viewBox="539.223 379.228 5.697 8.304">
			<path fill="rgba(255,197,105,1)" id="___115" d="M 543.456787109375 384.7198486328125 C 543.651123046875 384.5508728027344 543.8627319335938 384.4396667480469 544.0562744140625 384.3040466308594 C 544.1146850585938 384.2917175292969 544.1732788085938 384.2798461914063 544.2318725585938 384.2653198242188 C 544.54443359375 384.1871643066406 544.8062744140625 383.9442138671875 544.8914184570313 383.6102294921875 C 545.0147094726563 383.1258544921875 544.7222290039063 382.6331481933594 544.2376708984375 382.5096130371094 C 544.0992431640625 382.4742736816406 543.9602661132813 382.4468383789063 543.8214111328125 382.4227600097656 C 543.5755004882813 382.28857421875 543.349609375 382.1095886230469 543.2637939453125 381.8448181152344 C 543.1598510742188 381.5235900878906 543.1632690429688 381.2041015625 543.0684814453125 380.8865051269531 C 543.04150390625 380.5842895507813 543.0071411132813 380.2818298339844 542.959716796875 379.9794006347656 C 542.9013061523438 379.6109313964844 542.6130981445313 379.3032531738281 542.2249145507813 379.2398071289063 C 541.7402954101563 379.160400390625 541.283203125 379.4889526367188 541.2039794921875 379.9735107421875 C 541.1465454101563 380.3246459960938 541.10693359375 380.675537109375 541.0760498046875 381.0266723632813 C 541.0479125976563 381.0997924804688 541.0302124023438 381.1817321777344 541.03076171875 381.2757873535156 C 541.0349731445313 381.7838745117188 540.753173828125 382.1953125 540.3328857421875 382.408935546875 C 540.1915893554688 382.4325866699219 540.0502319335938 382.4598693847656 539.908935546875 382.4951782226563 C 539.597900390625 382.57373046875 539.3372192382813 382.8155517578125 539.2516479492188 383.1480407714844 C 539.126953125 383.6324462890625 539.4185791015625 384.126220703125 539.9030151367188 384.2508850097656 C 539.94970703125 384.262939453125 539.9965209960938 384.2723999023438 540.04296875 384.2830200195313 C 540.2076416015625 384.3970642089844 540.4171752929688 384.432861328125 540.5545654296875 384.5749816894531 C 540.6954345703125 384.7207641601563 540.7714233398438 385.0071411132813 540.8505859375 385.1875305175781 L 541.0536499023438 385.6508178710938 C 541.0826416015625 386.0276184082031 541.1217041015625 386.4042358398438 541.1810913085938 386.7810974121094 C 541.239501953125 387.1491394042969 541.5272827148438 387.4563293457031 541.9152221679688 387.5201721191406 C 542.3997802734375 387.5998840332031 542.857177734375 387.2715454101563 542.9368286132813 386.7869873046875 C 542.9711303710938 386.5778503417969 542.9979858398438 386.3687133789063 543.02197265625 386.1595764160156 C 543.0597534179688 386.0781555175781 543.07861328125 385.9892578125 543.0673828125 385.8970642089844 C 543.0634765625 385.8636779785156 543.0619506835938 385.83056640625 543.0597534179688 385.7974548339844 C 543.074462890625 385.6354675292969 543.08740234375 385.4734802246094 543.098388671875 385.311279296875 C 543.1543579101563 385.0892333984375 543.2664794921875 384.8850708007813 543.456787109375 384.7198486328125 Z">
			</path>
		</svg>
		<svg class="___86" viewBox="371.876 220.916 11.394 16.608">
			<path fill="rgba(255,197,105,1)" id="___86" d="M 373.2361450195313 230.9623565673828 C 373.32958984375 230.9860382080078 373.423095703125 231.0049591064453 373.5161437988281 231.0264434814453 C 373.8453674316406 231.2546844482422 374.2645263671875 231.3262481689453 374.539306640625 231.6102142333984 C 374.8211364746094 231.9021148681641 374.9729309082031 232.4748992919922 375.1313781738281 232.8357086181641 L 375.5374145507813 233.7622528076172 C 375.5957946777344 234.5154876708984 375.6739196777344 235.2691192626953 375.7924194335938 236.0227508544922 C 375.9091491699219 236.7588653564453 376.484619140625 237.3733367919922 377.2606506347656 237.5006256103516 C 378.2297668457031 237.6599273681641 379.1445617675781 237.0037384033203 379.3038330078125 236.0346221923828 C 379.3727722167969 235.6163177490234 379.4263000488281 235.1975860595703 379.4741516113281 234.7792510986328 C 379.5500793457031 234.6164398193359 379.5873718261719 234.4391021728516 379.5650024414063 234.2547760009766 C 379.5570983886719 234.1880340576172 379.5540466308594 234.1217498779297 379.5496215820313 234.0554656982422 C 379.5790100097656 233.7311248779297 379.6049499511719 233.4072113037109 379.626953125 233.0832672119141 C 379.7388305664063 232.6386260986328 379.963134765625 232.2304229736328 380.3436889648438 231.8998870849609 C 380.7325439453125 231.5619354248047 381.1556701660156 231.3393707275391 381.5427856445313 231.0681304931641 C 381.6600036621094 231.0435638427734 381.7767333984375 231.0203094482422 381.8939514160156 230.9913177490234 C 382.5189819335938 230.8350677490234 383.0426025390625 230.3491973876953 383.212890625 229.6811370849609 C 383.4596252441406 228.7119903564453 382.8745422363281 227.7265777587891 381.90576171875 227.4799041748047 C 381.6284484863281 227.4092559814453 381.3510131835938 227.3543853759766 381.0731506347656 227.3060760498047 C 380.5810852050781 227.0378875732422 380.1294860839844 226.6792755126953 379.9583129882813 226.1504058837891 C 379.7498168945313 225.5073699951172 379.7568359375 224.8682708740234 379.5671997070313 224.2335968017578 C 379.51318359375 223.6287078857422 379.4443054199219 223.0243377685547 379.3494873046875 222.4195098876953 C 379.2327270507813 221.6820831298828 378.6568603515625 221.0671539306641 377.8799743652344 220.9398956298828 C 376.9107971191406 220.7814178466797 375.9965515136719 221.4384918212891 375.8381042480469 222.4076538085938 C 375.7230834960938 223.1095123291016 375.6440734863281 223.8117828369141 375.5822143554688 224.5136566162109 C 375.5259704589844 224.6602020263672 375.4904479980469 224.8239288330078 375.4921875 225.0118255615234 C 375.5001220703125 226.0279388427734 374.9365234375 226.8509063720703 374.0964050292969 227.2784271240234 C 373.8132629394531 227.3258514404297 373.5306091308594 227.3798370361328 373.2479858398438 227.4509429931641 C 372.6260070800781 227.6080474853516 372.1045227050781 228.0913238525391 371.9333801269531 228.7563018798828 C 371.6840515136719 229.7254180908203 372.2673950195313 230.7130279541016 373.2361450195313 230.9623565673828 Z">
			</path>
		</svg>
		<svg class="___87" viewBox="333.009 677.72 11.393 16.684">
			<path fill="rgba(255,197,105,1)" id="___87" d="M 341.4762878417969 688.7542724609375 C 341.8656311035156 688.414794921875 342.2882690429688 688.1912841796875 342.6753845214844 687.9188232421875 C 342.7926330566406 687.8941650390625 342.9093627929688 687.87060546875 343.0265502929688 687.841552734375 C 343.651611328125 687.6846923828125 344.1752014160156 687.196044921875 344.3455505371094 686.52490234375 C 344.5926208496094 685.5517578125 344.0071411132813 684.561767578125 343.0384216308594 684.3140869140625 C 342.760986328125 684.242919921875 342.4836120605469 684.1878662109375 342.2062377929688 684.1395263671875 C 341.7137451171875 683.86962890625 341.2624816894531 683.509765625 341.0908813476563 682.978515625 C 340.8823852539063 682.33251953125 340.8898315429688 681.6905517578125 340.7002258300781 681.052734375 C 340.646240234375 680.4451904296875 340.576904296875 679.8375244140625 340.4820861816406 679.2301025390625 C 340.3657836914063 678.48974609375 339.7894287109375 677.871337890625 339.0125732421875 677.7440185546875 C 338.04345703125 677.5848388671875 337.1295776367188 678.244873046875 336.9706726074219 679.218505859375 C 336.8561096191406 679.923583984375 336.7767028808594 680.628662109375 336.7147827148438 681.3341064453125 C 336.6586303710938 681.48095703125 336.623046875 681.6455078125 336.624755859375 681.834716796875 C 336.6326904296875 682.8553466796875 336.069091796875 683.68212890625 335.2290344238281 684.1116943359375 C 334.9463500976563 684.1591796875 334.6636352539063 684.2135009765625 334.3805847167969 684.2845458984375 C 333.759033203125 684.4427490234375 333.2376098632813 684.92822265625 333.0664367675781 685.5963134765625 C 332.8170776367188 686.5693359375 333.4000244140625 687.5616455078125 334.3687133789063 687.81201171875 C 334.4622192382813 687.8363037109375 334.5556945800781 687.855224609375 334.6492004394531 687.87646484375 C 334.9779357910156 688.1055908203125 335.3970947265625 688.1781005859375 335.6719360351563 688.4632568359375 C 335.9536743164063 688.756103515625 336.1059875488281 689.3319091796875 336.2640075683594 689.6944580078125 L 336.6699829101563 690.6248779296875 C 336.7283935546875 691.3818359375 336.8065490722656 692.138916015625 336.9249877929688 692.89599609375 C 337.0422058105469 693.635498046875 337.6176147460938 694.2528076171875 338.3932495117188 694.3807373046875 C 339.3623962402344 694.5408935546875 340.2771301269531 693.8809814453125 340.4364624023438 692.9075927734375 C 340.5053405761719 692.4873046875 340.5588989257813 692.067138671875 340.6067504882813 691.6468505859375 C 340.6827087402344 691.4833984375 340.719970703125 691.30517578125 340.6976013183594 691.1195068359375 C 340.689697265625 691.052490234375 340.6866149902344 690.986328125 340.6822814941406 690.9193115234375 C 340.711669921875 690.5938720703125 340.737548828125 690.2685546875 340.7594909667969 689.943115234375 C 340.871826171875 689.4964599609375 341.09619140625 689.0863037109375 341.4762878417969 688.7542724609375 Z">
			</path>
		</svg>
		<div id="__38">
			<svg class="___3">
				<ellipse fill="rgba(255,179,197,1)" id="___3" rx="44.94050979614258" ry="44.66138458251953" cx="44.94050979614258" cy="44.66138458251953">
				</ellipse>
			</svg>
			<svg class="___88" viewBox="769.354 528.331 14.763 14.348">
				<path fill="rgba(255,131,166,1)" id="___88" d="M 774.3265380859375 542.2263793945313 C 776.1688842773438 542.9324951171875 777.8831787109375 542.7705688476563 779.5535278320313 542.02587890625 C 781.2240600585938 541.2816162109375 782.8727416992188 540.2617797851563 783.5790405273438 538.4190673828125 C 784.28564453125 536.5767211914063 784.3101806640625 534.46240234375 783.5658569335938 532.7919921875 C 782.8211059570313 531.12158203125 781.398681640625 529.2923583984375 779.5563354492188 528.5861206054688 C 777.7139282226563 527.87939453125 775.6549072265625 528.7870483398438 773.9844970703125 529.53125 C 772.3141479492188 530.2759399414063 771.0101318359375 531.48681640625 770.3038940429688 533.3289184570313 C 769.5972290039063 535.171875 768.93701171875 537.3101196289063 769.6814575195313 538.9805297851563 C 770.4260864257813 540.6509399414063 772.4841918945313 541.52001953125 774.3265380859375 542.2263793945313 Z">
				</path>
			</svg>
			<svg class="___89" viewBox="707.695 561.857 5.502 5.502">
				<path fill="rgba(255,131,166,1)" id="___89" d="M 713.0145874023438 565.5929565429688 C 713.5584106445313 564.175048828125 712.849365234375 562.5842895507813 711.430908203125 562.0404052734375 C 710.0125732421875 561.4966430664063 708.42236328125 562.2055053710938 707.8785400390625 563.6240234375 C 707.3345947265625 565.0424194335938 708.0436401367188 566.6326904296875 709.4619140625 567.1765747070313 C 710.8804321289063 567.7203979492188 712.4706420898438 567.0114135742188 713.0145874023438 565.5929565429688 Z">
				</path>
			</svg>
			<svg class="___2">
				<ellipse fill="rgba(255,131,166,1)" id="___2" rx="2.7503268718719482" ry="2.7503275871276855" cx="2.7503268718719482" cy="2.7503275871276855">
				</ellipse>
			</svg>
			<svg class="___90" viewBox="804.986 600.059 6.384 7.064">
				<path fill="rgba(255,131,166,1)" id="___90" d="M 807.0941162109375 606.829833984375 C 808.921142578125 607.5306396484375 810.31201171875 606.9759521484375 811.0123291015625 605.1495361328125 C 811.713134765625 603.322509765625 811.4521484375 600.9287109375 809.6251220703125 600.2281494140625 C 807.79833984375 599.52783203125 805.950927734375 601.11328125 805.2501220703125 602.940185546875 C 804.5496826171875 604.7666015625 805.267333984375 606.1295166015625 807.0941162109375 606.829833984375 Z">
				</path>
			</svg>
			<svg class="___91" viewBox="702.663 609.831 10.056 10.072">
				<path fill="rgba(255,131,166,1)" id="___91" d="M 702.970947265625 612.789306640625 C 702.0062255859375 615.3043212890625 703.4002685546875 618.6619262695313 705.9154052734375 619.6265869140625 C 708.4305419921875 620.5907592773438 711.4379272460938 618.9208374023438 712.4020385742188 616.4052124023438 C 713.36669921875 613.8899536132813 712.0504760742188 611.149658203125 709.5354614257813 610.1849365234375 C 707.019775390625 609.2207641601563 703.93505859375 610.2740478515625 702.970947265625 612.789306640625 Z">
				</path>
			</svg>
			<svg class="___92" viewBox="754.579 585.143 11.313 10.878">
				<path fill="rgba(255,131,166,1)" id="___92" d="M 758.2909545898438 585.56591796875 C 756.9819946289063 586.1495361328125 755.4378051757813 586.6909790039063 754.8843994140625 588.1351928710938 C 754.33056640625 589.5790405273438 754.5917358398438 591.2481689453125 755.1753540039063 592.5569458007813 C 755.7589721679688 593.8658447265625 757.1557006835938 594.3143920898438 758.5994262695313 594.8676147460938 C 760.0435791015625 595.42138671875 761.5629272460938 596.4276123046875 762.8717041015625 595.8439331054688 C 764.1807250976563 595.2606811523438 765.0195922851563 593.6771850585938 765.5729370117188 592.2330932617188 C 766.1265869140625 590.7893676757813 765.9072265625 589.3428955078125 765.3236694335938 588.0339965820313 C 764.7398681640625 586.724609375 763.607421875 586.1259155273438 762.1632080078125 585.5720825195313 C 760.7195434570313 585.0188598632813 759.5997314453125 584.9827270507813 758.2909545898438 585.56591796875 Z">
				</path>
			</svg>
			<svg class="___98" viewBox="682.102 501.651 96.52 91.283">
				<path fill="rgba(0,52,114,1)" id="___98" d="M 778.1366577148438 539.945068359375 C 777.6298217773438 538.47021484375 776.991943359375 537.38427734375 776.6029052734375 536.4613037109375 C 776.2498779296875 535.6876220703125 775.9694213867188 534.5068359375 775.3587646484375 533.11767578125 C 775.06005859375 532.4300537109375 774.643798828125 531.68359375 774.0783081054688 530.9776611328125 L 773.7660522460938 530.5977783203125 L 773.4629516601563 530.2403564453125 L 772.8385620117188 529.5208740234375 C 771.988037109375 528.566162109375 771.0604858398438 527.6160888671875 769.9927368164063 526.7337646484375 C 768.8118896484375 525.765625 767.6218872070313 525.123046875 766.5857543945313 524.53955078125 C 766.0609130859375 524.245361328125 765.5723266601563 523.9739990234375 765.1152954101563 523.697998046875 L 764.6222534179688 523.41748046875 C 764.4456787109375 523.3270263671875 764.2692260742188 523.23193359375 764.0973510742188 523.155029296875 C 763.7535400390625 522.987548828125 763.418701171875 522.851806640625 763.097412109375 522.7252197265625 C 761.8170166015625 522.2320556640625 760.744873046875 521.928955078125 759.9168090820313 521.5443115234375 C 759.2380981445313 521.250244140625 758.3558959960938 520.58056640625 757.1705322265625 519.84765625 C 756.5868530273438 519.4857177734375 755.899169921875 519.1146240234375 755.1119384765625 518.820556640625 C 754.9851684570313 518.7708740234375 754.8674926757813 518.734619140625 754.7409057617188 518.6939697265625 C 753.6776123046875 518.0650634765625 752.483154296875 517.6578369140625 751.157470703125 517.2957763671875 C 749.9132690429688 516.95654296875 748.6510009765625 516.68505859375 747.6013793945313 515.8797607421875 C 747.072021484375 515.468017578125 746.5924072265625 515.006591796875 746.103759765625 514.549560546875 C 746.01318359375 514.4500732421875 745.9227905273438 514.345947265625 745.8276977539063 514.2418212890625 C 745.6693725585938 514.0699462890625 745.4657592773438 513.8619384765625 745.2711791992188 513.6854248046875 C 745.07666015625 513.5042724609375 744.8776245117188 513.3370361328125 744.6829833984375 513.1787109375 C 743.895751953125 512.5498046875 743.1311645507813 512.079345703125 742.4706420898438 511.6403503417969 C 742.1448364257813 511.4231872558594 741.8372192382813 511.2150573730469 741.5657958984375 511.0115051269531 L 740.6201171875 510.2558288574219 C 739.9279174804688 509.7174987792969 739.217529296875 509.2062072753906 738.4981689453125 508.7130432128906 C 738.1408081054688 508.4687194824219 737.77880859375 508.2289123535156 737.4168701171875 507.9936828613281 L 736.8829956054688 507.6498107910156 C 736.7517700195313 507.5683898925781 736.6160278320313 507.4733581542969 736.4802856445313 507.3784484863281 C 735.9282836914063 506.9756774902344 735.3265991210938 506.4327697753906 734.6116943359375 505.8581848144531 C 734.249755859375 505.5730895996094 733.8607177734375 505.2745666503906 733.4218139648438 504.9940490722656 C 732.99658203125 504.7180480957031 732.4580688476563 504.4465637207031 732.0509033203125 504.2700500488281 C 731.1777954101563 503.8809509277344 730.3179931640625 503.6004943847656 729.4990844726563 503.3516540527344 L 728.3046875 502.9851379394531 L 727.1193237304688 502.6141662597656 C 725.19189453125 502.0259704589844 723.4680786132813 501.9762878417969 722.0337524414063 501.6866760253906 L 722.020263671875 501.6866760253906 C 721.0745849609375 501.4966125488281 720.1426391601563 502.0803527832031 719.9073486328125 503.0258483886719 C 719.6675415039063 503.9940490722656 720.26025390625 504.9758605957031 721.2284545898438 505.2156677246094 C 723.0337524414063 505.6636657714844 724.6624755859375 505.8128967285156 725.9066772460938 506.2698669433594 L 727.0830688476563 506.6997375488281 L 728.2593994140625 507.1069030761719 C 729.0194702148438 507.3784484863281 729.7298583984375 507.6498107910156 730.3723754882813 507.9529724121094 C 730.720703125 508.1158752441406 730.9198608398438 508.2289123535156 731.1867065429688 508.4099426269531 C 731.4447021484375 508.5863952636719 731.716064453125 508.7989807128906 731.99658203125 509.0388488769531 C 732.566650390625 509.5184020996094 733.1820068359375 510.1156311035156 733.9557495117188 510.7173767089844 C 734.150146484375 510.8667907714844 734.3538818359375 511.0160217285156 734.5709838867188 511.1607971191406 L 735.0777587890625 511.5046691894531 C 735.4035034179688 511.7308654785156 735.729248046875 511.9615783691406 736.050537109375 512.1968994140625 C 736.6929931640625 512.6583251953125 737.3172607421875 513.1424560546875 737.923583984375 513.6356201171875 C 738.2402954101563 513.8890380859375 738.4935913085938 514.115234375 738.9189453125 514.4500732421875 C 739.3080444335938 514.7486572265625 739.6836547851563 515.0155029296875 740.0455322265625 515.260009765625 C 740.7649536132813 515.74853515625 741.4119262695313 516.16943359375 741.9141235351563 516.5855712890625 C 742.0408325195313 516.6942138671875 742.158447265625 516.7935791015625 742.2671508789063 516.897705078125 C 742.380126953125 517.00634765625 742.461669921875 517.09228515625 742.583740234375 517.2281494140625 C 742.8143920898438 517.4814453125 743.0361938476563 517.7528076171875 743.2578735351563 518.0469970703125 C 743.705810546875 518.630615234375 744.1492309570313 519.2911376953125 744.63330078125 519.9925537109375 C 745.6467895507813 521.4810791015625 746.700927734375 522.747802734375 747.5425415039063 524.0101318359375 C 747.7597045898438 524.3223876953125 747.958740234375 524.634521484375 748.1442260742188 524.9466552734375 L 748.7595825195313 526.0054931640625 C 749.1758422851563 526.72021484375 749.5740356445313 527.407958984375 749.9314575195313 528.0865478515625 C 750.27978515625 528.7652587890625 750.6055297851563 529.4483642578125 750.8135986328125 530.0546875 C 751.0399169921875 530.706298828125 751.2254028320313 531.4437255859375 751.4244384765625 532.2491455078125 C 751.6235961914063 533.0589599609375 751.8136596679688 533.9005126953125 752.1438598632813 534.8597412109375 C 752.4605712890625 535.760009765625 752.804443359375 536.5382080078125 753.06689453125 537.239501953125 C 753.3338012695313 537.9453125 753.519287109375 538.565185546875 753.5870971679688 539.1126708984375 C 753.6596069335938 539.687255859375 753.6414184570313 540.3974609375 753.6006469726563 541.2073974609375 C 753.5598754882813 542.017333984375 753.5011596679688 542.9403076171875 753.5598754882813 543.9493408203125 C 753.6188354492188 544.912841796875 753.75 545.7861328125 753.8494873046875 546.5780029296875 C 753.9490356445313 547.36962890625 754.0170288085938 548.0845947265625 753.9988403320313 548.7044677734375 C 753.9852294921875 549.2789306640625 753.8585815429688 549.8671875 753.655029296875 550.5955810546875 C 753.4559326171875 551.31494140625 753.1799926757813 552.11572265625 752.9401245117188 553.0478515625 C 752.6913452148438 554.05224609375 752.582763671875 554.9208984375 752.4605712890625 555.75341796875 C 752.3474731445313 556.5814208984375 752.243408203125 557.3460693359375 752.0894775390625 558.024658203125 C 752.008056640625 558.377685546875 751.9312133789063 558.6580810546875 751.818115234375 559.006591796875 C 751.700439453125 559.359375 751.5737915039063 559.7122802734375 751.43798828125 560.0697021484375 C 751.2435302734375 560.5673828125 751.03076171875 561.0740966796875 750.8046875 561.58544921875 C 748.741455078125 564.3995361328125 745.8096923828125 566.340576171875 742.71044921875 568.1051025390625 C 741.751220703125 568.5892333984375 741.0137329101563 569.0823974609375 740.3621826171875 569.399169921875 C 739.9279174804688 569.6162109375 739.5795288085938 569.751953125 739.2356567382813 569.8380126953125 C 738.878173828125 569.928466796875 738.4168090820313 569.9827880859375 737.887451171875 570.0189208984375 C 736.8287353515625 570.100341796875 735.466796875 570.0640869140625 733.9013671875 570.466796875 C 732.381103515625 570.8740234375 731.2772216796875 571.475830078125 730.3316650390625 571.82421875 C 730.100830078125 571.91015625 729.8746337890625 571.9915771484375 729.6710815429688 572.0504150390625 C 729.5625 572.086669921875 729.4674072265625 572.1092529296875 729.3678588867188 572.1318359375 C 729.268310546875 572.1544189453125 729.196044921875 572.1771240234375 729.060302734375 572.1951904296875 C 728.5715942382813 572.2857666015625 728.042236328125 572.3536376953125 727.4856567382813 572.412353515625 L 725.7347412109375 572.5706787109375 L 724.7982177734375 572.6656494140625 L 724.3141479492188 572.724609375 L 723.8662109375 572.7879638671875 C 723.0563354492188 572.91015625 721.9659423828125 572.82861328125 720.6810302734375 572.7879638671875 C 720.0340576171875 572.7742919921875 719.3417358398438 572.7742919921875 718.5817260742188 572.8602294921875 C 717.7899169921875 572.955322265625 717.0931396484375 573.1407470703125 716.477783203125 573.32177734375 C 715.2380981445313 573.6927490234375 714.25634765625 574.027587890625 713.4962768554688 574.0819091796875 L 713.4690551757813 574.0819091796875 C 712.265625 574.1678466796875 711.34716796875 575.203857421875 711.4196166992188 576.4119873046875 C 711.491943359375 577.6290283203125 712.537109375 578.5565185546875 713.7542114257813 578.4840087890625 C 715.369384765625 578.38916015625 716.6498413085938 577.9185791015625 717.6949462890625 577.6470947265625 C 718.2152099609375 577.5069580078125 718.6766967773438 577.411865234375 719.0657958984375 577.375732421875 C 719.486572265625 577.3350830078125 719.9843139648438 577.3394775390625 720.5181274414063 577.3665771484375 C 721.6039428710938 577.4072265625 722.8889770507813 577.583740234375 724.4407958984375 577.4163818359375 L 724.8796997070313 577.3665771484375 L 725.2823486328125 577.325927734375 L 726.1148681640625 577.2625732421875 L 727.9110107421875 577.140380859375 C 728.535400390625 577.0906982421875 729.1869506835938 577.0318603515625 729.8700561523438 576.918701171875 C 730.0240478515625 576.8961181640625 730.2457275390625 576.84619140625 730.43115234375 576.8101806640625 C 730.6212158203125 576.7647705078125 730.8112182617188 576.7196044921875 730.9921875 576.6697998046875 C 731.358642578125 576.5657958984375 731.6934814453125 576.45263671875 732.0192260742188 576.3350830078125 C 733.2951049804688 575.85546875 734.3130493164063 575.3623046875 735.1004028320313 575.1812744140625 C 735.8424682617188 574.9866943359375 736.8829956054688 574.9866943359375 738.1815795898438 574.92333984375 C 738.8375244140625 574.8873291015625 739.5614624023438 574.8284912109375 740.3577270507813 574.6474609375 C 740.4708862304688 574.624755859375 740.5748901367188 574.5931396484375 740.6835327148438 574.5614013671875 C 740.72412109375 574.556884765625 740.7649536132813 574.556884765625 740.8056640625 574.5478515625 C 741.5205078125 574.4031982421875 742.0452880859375 574.977783203125 741.850830078125 575.669921875 C 741.8327026367188 575.7423095703125 741.7965087890625 575.8192138671875 741.764892578125 575.896240234375 C 741.6969604492188 575.9639892578125 741.6290893554688 576.0318603515625 741.5657958984375 576.0997314453125 C 740.4617919921875 577.19921875 739.2719116210938 578.23974609375 738.0276489257813 579.22607421875 L 736.0911865234375 580.746337890625 C 735.4533081054688 581.23486328125 734.8334350585938 581.696533203125 734.213623046875 582.1080322265625 C 733.5891723632813 582.5198974609375 732.991943359375 582.8592529296875 732.2997436523438 583.198486328125 C 731.6165771484375 583.533447265625 730.8881225585938 583.8546142578125 730.1279907226563 584.1849365234375 L 728.9697875976563 584.6962890625 C 728.63037109375 584.845458984375 728.277587890625 584.99462890625 727.920166015625 585.135009765625 C 727.2052612304688 585.4110107421875 726.4633178710938 585.6688232421875 725.6986083984375 585.9178466796875 C 724.1331787109375 586.4246826171875 722.658203125 586.867919921875 721.11083984375 587.20263671875 C 720.7218017578125 587.2886962890625 720.3372192382813 587.3701171875 719.9481811523438 587.447021484375 L 718.7401123046875 587.6688232421875 C 717.903076171875 587.8271484375 717.1067504882813 587.9853515625 716.3375854492188 588.112060546875 C 715.5775146484375 588.23876953125 714.808349609375 588.3338623046875 714.138671875 588.365478515625 C 713.550537109375 588.392578125 712.8718872070313 588.3201904296875 712.0982055664063 588.197998046875 C 711.324462890625 588.0804443359375 710.4693603515625 587.9130859375 709.4967041015625 587.8179931640625 L 708.84521484375 587.763671875 L 708.3021850585938 587.7138671875 C 707.935791015625 587.6688232421875 707.5647583007813 587.6143798828125 707.1847534179688 587.551025390625 C 706.424560546875 587.428955078125 705.6327514648438 587.2569580078125 704.8048095703125 587.0986328125 C 703.9451904296875 586.9312744140625 703.1760864257813 586.800048828125 702.3888549804688 586.632568359375 C 701.6106567382813 586.4697265625 700.8460083007813 586.2886962890625 700.0994262695313 586.085205078125 C 699.71484375 585.9810791015625 699.366455078125 585.876953125 698.9683227539063 585.7548828125 C 698.5385131835938 585.619140625 698.1132202148438 585.50146484375 697.7015991210938 585.3883056640625 C 696.882568359375 585.1666259765625 696.1134643554688 584.9541015625 695.403076171875 584.7413330078125 C 694.6836547851563 584.5196533203125 694.095458984375 584.2799072265625 693.416748046875 583.9405517578125 C 692.75634765625 583.6058349609375 692.0822143554688 583.212158203125 691.3899536132813 582.7913818359375 L 690.3311767578125 582.1444091796875 C 689.9737548828125 581.922607421875 689.6073608398438 581.70556640625 689.1774291992188 581.4703369140625 C 687.526123046875 580.592529296875 686.0556640625 580.0450439453125 685.0150146484375 579.284912109375 L 684.974365234375 579.253173828125 C 684.2186889648438 578.7103271484375 683.1600341796875 578.8233642578125 682.5401611328125 579.5428466796875 C 681.888671875 580.29833984375 681.9745483398438 581.443115234375 682.730224609375 582.0946044921875 C 684.291015625 583.433837890625 685.9651489257813 584.112548828125 687.1822509765625 584.9041748046875 C 687.4717407226563 585.085205078125 687.802001953125 585.320556640625 688.1459350585938 585.5467529296875 L 689.1865844726563 586.248046875 C 689.8923950195313 586.7186279296875 690.6388549804688 587.20263671875 691.439697265625 587.650634765625 C 692.2269897460938 588.0985107421875 693.16796875 588.52392578125 694.027587890625 588.8270263671875 C 694.8917846679688 589.13916015625 695.7288208007813 589.36083984375 696.5070190429688 589.5960693359375 C 696.8961181640625 589.7091064453125 697.271728515625 589.822265625 697.629150390625 589.9444580078125 C 698.0272216796875 590.07568359375 698.470703125 590.2159423828125 698.8868408203125 590.338134765625 C 699.7374267578125 590.5869140625 700.5880737304688 590.8040771484375 701.4342041015625 590.994140625 C 702.2711181640625 591.188720703125 703.139892578125 591.360595703125 703.908935546875 591.5235595703125 C 704.705322265625 591.6907958984375 705.5423583984375 591.8673095703125 706.424560546875 592.021240234375 C 706.8634643554688 592.093505859375 707.3114013671875 592.166015625 707.77294921875 592.2203369140625 C 708.0036010742188 592.2474365234375 708.234375 592.2701416015625 708.4696655273438 592.2880859375 L 709.0623779296875 592.3380126953125 C 709.7410278320313 592.40576171875 710.5191650390625 592.5550537109375 711.3878173828125 592.6953125 C 712.256591796875 592.8310546875 713.2337646484375 592.966796875 714.3107299804688 592.926025390625 C 715.305908203125 592.88525390625 716.1882934570313 592.767822265625 717.070556640625 592.62744140625 C 717.939208984375 592.4871826171875 718.771728515625 592.324462890625 719.572509765625 592.1795654296875 L 720.8167114257813 591.953369140625 C 721.2420654296875 591.8719482421875 721.671875 591.785888671875 722.0971069335938 591.6907958984375 C 723.7984008789063 591.328857421875 725.5130615234375 590.82666015625 727.11474609375 590.3109130859375 C 727.93359375 590.048583984375 728.7616577148438 589.76806640625 729.5941772460938 589.44677734375 C 730.014892578125 589.283935546875 730.43115234375 589.112060546875 730.8474731445313 588.926513671875 L 731.9739990234375 588.4378662109375 C 732.7386474609375 588.1075439453125 733.534912109375 587.763671875 734.3447875976563 587.3701171875 C 735.1500854492188 586.9810791015625 736.0052490234375 586.5059814453125 736.7698364257813 585.999267578125 C 737.5390014648438 585.4969482421875 738.25390625 584.9676513671875 738.93701171875 584.447265625 L 740.9277954101563 582.8953857421875 C 742.294189453125 581.8231201171875 743.6152954101563 580.678466796875 744.8731079101563 579.4342041015625 C 746.1489868164063 578.171875 747.2890625 576.837158203125 748.3614501953125 575.50244140625 L 748.7867431640625 574.9595947265625 C 748.93603515625 574.7559814453125 749.080810546875 574.556884765625 749.216552734375 574.3533935546875 C 749.4383544921875 574.027587890625 749.6373901367188 573.7064208984375 749.8273315429688 573.3896484375 C 751.43798828125 571.7608642578125 753.2342529296875 570.3582763671875 755.1978149414063 569.2135009765625 C 755.38330078125 569.1412353515625 755.5687866210938 569.0777587890625 755.7588500976563 568.9964599609375 C 755.9217529296875 568.93310546875 756.0891723632813 568.856201171875 756.256591796875 568.7791748046875 L 756.6229858398438 568.6119384765625 C 756.853759765625 568.5123291015625 757.0936279296875 568.4127197265625 757.346923828125 568.313232421875 L 758.9757690429688 567.693359375 C 759.5592651367188 567.4761962890625 760.17919921875 567.2274169921875 760.8262329101563 566.9151611328125 C 761.459716796875 566.6165771484375 762.1972045898438 566.1732177734375 762.789794921875 565.7161865234375 C 763.9752197265625 564.80224609375 764.830322265625 563.856689453125 765.5813598632813 563.2005615234375 C 765.7623901367188 563.0467529296875 765.9387817382813 562.8929443359375 766.1016235351563 562.7752685546875 L 766.8075561523438 562.25048828125 C 767.30517578125 561.87939453125 767.79833984375 561.4993896484375 768.2914428710938 561.1058349609375 C 768.78466796875 560.7076416015625 769.2732543945313 560.3004150390625 769.7529296875 559.8707275390625 C 770.2325439453125 559.454345703125 770.7391967773438 558.9522705078125 771.105712890625 558.6082763671875 C 771.9200439453125 557.84375 772.856689453125 557.0428466796875 773.81591796875 555.997802734375 C 774.051025390625 555.7353515625 774.2909545898438 555.4549560546875 774.5261840820313 555.1517333984375 C 774.7569580078125 554.857666015625 774.9830932617188 554.5318603515625 775.2183837890625 554.1473388671875 C 775.6617431640625 553.400634765625 775.9603271484375 552.640625 776.1820678710938 551.9393310546875 C 776.616455078125 550.536865234375 776.7929077148438 549.35595703125 777.0779418945313 548.5460205078125 C 777.3765258789063 547.6185302734375 777.9194946289063 546.5054931640625 778.317626953125 545.00341796875 C 778.5122680664063 544.261474609375 778.6524047851563 543.3883056640625 778.6162109375 542.456298828125 C 778.5845947265625 541.5330810546875 778.3809204101563 540.6824951171875 778.1366577148438 539.945068359375 Z M 772.9833984375 543.650634765625 C 772.7932739257813 544.4515380859375 772.3136596679688 545.4964599609375 771.870361328125 546.822265625 C 771.4088134765625 548.2655029296875 771.2459716796875 549.4464111328125 770.969970703125 550.3104248046875 C 770.8341674804688 550.7403564453125 770.6849365234375 551.0887451171875 770.526611328125 551.3692626953125 C 770.4496459960938 551.4869384765625 770.3500366210938 551.654296875 770.2098388671875 551.8216552734375 C 770.0831298828125 551.99365234375 769.9383544921875 552.16552734375 769.780029296875 552.342041015625 C 769.14208984375 553.056884765625 768.2825317382813 553.8125 767.3776245117188 554.68115234375 C 766.884521484375 555.1563720703125 766.55419921875 555.4954833984375 766.14697265625 555.866455078125 C 765.748779296875 556.2330322265625 765.3279418945313 556.5904541015625 764.9026489257813 556.9478759765625 C 764.4774169921875 557.3006591796875 764.0340576171875 557.6490478515625 763.5861206054688 557.9930419921875 L 762.8712768554688 558.54052734375 C 762.5545654296875 558.7757568359375 762.2876586914063 559.015625 762.0252685546875 559.2508544921875 C 761.01171875 560.1873779296875 760.2697143554688 561.0107421875 759.5728759765625 561.544677734375 C 759.41455078125 561.6668701171875 759.269775390625 561.77099609375 759.1205444335938 561.8704833984375 C 758.5640258789063 562.07861328125 758.0029907226563 562.223388671875 757.4509887695313 562.12841796875 C 756.55517578125 561.9654541015625 756.3063354492188 561.3004150390625 756.2429809570313 560.54931640625 C 756.2520141601563 560.517578125 756.2611083984375 560.490478515625 756.2700805664063 560.4588623046875 C 756.41943359375 560.0198974609375 756.5596923828125 559.499755859375 756.6592407226563 559.0382080078125 C 756.8673706054688 558.092529296875 756.98046875 557.205810546875 757.0890502929688 556.386962890625 C 757.1975708007813 555.5770263671875 757.3062744140625 554.7943115234375 757.4600219726563 554.1834716796875 C 757.62744140625 553.5047607421875 757.889892578125 552.731201171875 758.1342163085938 551.848876953125 C 758.2562866210938 551.405517578125 758.3740234375 550.930419921875 758.4690551757813 550.42822265625 C 758.5595092773438 549.9305419921875 758.622802734375 549.35595703125 758.6364135742188 548.8355712890625 C 758.6589965820313 547.7904052734375 758.5504760742188 546.849365234375 758.4418334960938 545.9942626953125 C 758.3287963867188 545.1346435546875 758.2156372070313 544.3609619140625 758.1703491210938 543.668701171875 C 758.1251831054688 543.0128173828125 758.1658935546875 542.275146484375 758.2020263671875 541.424560546875 C 758.23828125 540.5740966796875 758.2835083007813 539.6148681640625 758.147705078125 538.5379638671875 C 758.0075073242188 537.43408203125 757.67724609375 536.456787109375 757.3560180664063 535.6107177734375 C 757.0302734375 534.7601318359375 756.699951171875 534.01806640625 756.4646606445313 533.3485107421875 C 756.2474975585938 532.7376708984375 756.0574951171875 531.955078125 755.8584594726563 531.1541748046875 C 755.6547241210938 530.3443603515625 755.4375 529.466552734375 755.1163330078125 528.548095703125 C 755.1163330078125 528.543701171875 755.1119384765625 528.543701171875 755.1119384765625 528.5390625 C 755.1571044921875 527.3084716796875 756.1570434570313 526.3853759765625 757.4283447265625 526.4669189453125 C 757.4871826171875 526.4940185546875 757.5414428710938 526.5257568359375 757.6002807617188 526.552978515625 C 758.9304809570313 527.168212890625 760.1520385742188 527.5211181640625 761.0794677734375 527.8875732421875 C 761.310302734375 527.97802734375 761.52294921875 528.068603515625 761.7130126953125 528.1590576171875 C 761.8125610351563 528.204345703125 761.8939819335938 528.24951171875 761.9844360351563 528.2947998046875 L 762.2649536132813 528.4576416015625 C 762.8259887695313 528.79248046875 763.3689575195313 529.095458984375 763.8801879882813 529.3807373046875 C 764.9118041992188 529.9552001953125 765.8075561523438 530.470947265625 766.463623046875 531.0184326171875 C 767.228271484375 531.6474609375 767.9657592773438 532.3939208984375 768.6896362304688 533.2127685546875 L 769.2326049804688 533.837158203125 L 769.7529296875 534.466064453125 C 769.933837890625 534.687744140625 770.1102905273438 534.977294921875 770.2821655273438 535.3753662109375 C 770.6441040039063 536.158203125 770.9246826171875 537.29833984375 771.5264892578125 538.696533203125 C 772.092041015625 539.94970703125 772.6439819335938 540.9315185546875 772.90185546875 541.7095947265625 C 773.0286254882813 542.0986328125 773.0963745117188 542.410888671875 773.10546875 542.6778564453125 C 773.1190795898438 542.9312744140625 773.0873413085938 543.2479248046875 772.9833984375 543.650634765625 Z">
				</path>
			</svg>
			<svg class="___100" viewBox="698.331 659.88 15.901 5.645">
				<path fill="rgba(0,52,114,1)" id="___100" d="M 700.126708984375 660.0746459960938 C 699.407470703125 660.1832275390625 698.764892578125 660.6582641601563 698.4798583984375 661.3822631835938 C 698.050048828125 662.4635009765625 698.583984375 663.6895751953125 699.6654052734375 664.1149291992188 C 700.701416015625 664.5266723632813 701.7646484375 664.7844848632813 702.827880859375 664.9971923828125 C 703.895751953125 665.205322265625 704.9725341796875 665.3455200195313 706.0538330078125 665.4315185546875 C 707.130615234375 665.512939453125 708.2164306640625 665.5445556640625 709.3023681640625 665.512939453125 C 710.3883056640625 665.4722900390625 711.4739990234375 665.3908081054688 712.5643310546875 665.1600952148438 C 713.28369140625 665.0061645507813 713.8990478515625 664.4812622070313 714.134521484375 663.7347412109375 C 714.4827880859375 662.6264038085938 713.867431640625 661.445556640625 712.759033203125 661.0925903320313 L 712.7498779296875 661.0925903320313 C 711.7093505859375 660.76220703125 710.6641845703125 660.5677490234375 709.623779296875 660.3912353515625 C 708.5784912109375 660.2284545898438 707.5333251953125 660.1062622070313 706.4881591796875 660.020263671875 C 705.4429931640625 659.9343872070313 704.393310546875 659.884521484375 703.339111328125 659.8800048828125 C 702.280517578125 659.8800048828125 701.2218017578125 659.9116821289063 700.140380859375 660.070068359375 L 700.126708984375 660.0746459960938 Z">
				</path>
			</svg>
			<svg class="___114" viewBox="1041.413 773.713 26.271 51.308">
				<path fill="rgba(44,58,110,1)" id="___114" d="M 1067.5986328125 820.7952880859375 C 1067.259399414063 820.4276733398438 1064.035522460938 818.5048217773438 1062.863403320313 817.8016967773438 C 1062.150634765625 817.3736572265625 1061.43701171875 816.7036743164063 1060.912841796875 816.4714965820313 C 1060.763671875 816.3719482421875 1060.619262695313 816.2678833007813 1060.460571289063 816.145751953125 C 1059.764282226563 815.6118774414063 1059.022216796875 814.7884521484375 1058.008666992188 813.851806640625 C 1057.745849609375 813.61669921875 1057.479370117188 813.3768310546875 1057.162719726563 813.1416015625 L 1056.447875976563 812.5941162109375 C 1056 812.250244140625 1055.556396484375 811.9063720703125 1055.131103515625 811.549072265625 C 1054.705444335938 811.1915283203125 1054.285278320313 810.8341064453125 1053.887084960938 810.4675903320313 C 1053.479858398438 810.0966186523438 1053.149536132813 809.7572631835938 1052.656372070313 809.2821044921875 C 1051.75146484375 808.4135131835938 1050.891845703125 807.657958984375 1050.253784179688 806.9429931640625 C 1050.095458984375 806.7666625976563 1049.950805664063 806.5946655273438 1049.82421875 806.4227905273438 C 1049.708740234375 806.2788696289063 1049.602905273438 806.127685546875 1049.506958007813 805.9702758789063 C 1049.323120117188 805.6336669921875 1049.174438476563 805.2786254882813 1049.06396484375 804.9115600585938 C 1048.787963867188 804.0474853515625 1048.625244140625 802.8665771484375 1048.16357421875 801.4232788085938 C 1047.720092773438 800.09765625 1047.240112304688 799.052490234375 1047.050659179688 798.2516479492188 C 1046.96044921875 797.9354858398438 1046.919311523438 797.6074829101563 1046.928466796875 797.2788696289063 C 1046.951049804688 796.9481201171875 1047.01953125 796.6223754882813 1047.131591796875 796.3106689453125 C 1047.389892578125 795.5325317382813 1047.941772460938 794.5507202148438 1048.507568359375 793.2974243164063 C 1049.109252929688 791.8993530273438 1049.389404296875 790.7592163085938 1049.751708984375 789.9765014648438 C 1049.884765625 789.6498413085938 1050.06298828125 789.3439331054688 1050.280639648438 789.0670776367188 L 1050.801147460938 788.4381103515625 L 1051.344360351563 787.8139038085938 C 1052.027465820313 787.0247802734375 1052.771728515625 786.2913818359375 1053.56982421875 785.6194458007813 C 1054.381591796875 784.998779296875 1055.246215820313 784.4503784179688 1056.15380859375 783.9816284179688 C 1056.6650390625 783.6966552734375 1057.207885742188 783.3934936523438 1057.76904296875 783.0587158203125 L 1058.049682617188 782.8956909179688 C 1058.122314453125 782.8590698242188 1058.191040039063 782.8229370117188 1058.266235351563 782.7863159179688 C 1059.887329101563 779.51513671875 1061.896118164063 776.4710693359375 1064.233154296875 773.7130126953125 C 1063.761108398438 773.9279174804688 1063.302612304688 774.1721801757813 1062.863403320313 774.4486694335938 C 1061.977172851563 775.0603637695313 1061.060546875 775.6264038085938 1060.116943359375 776.1453857421875 C 1059.289184570313 776.5299072265625 1058.216918945313 776.8331298828125 1056.936645507813 777.326171875 C 1056.615112304688 777.452880859375 1056.2802734375 777.588623046875 1055.9365234375 777.7560424804688 C 1055.764770507813 777.8328857421875 1055.588256835938 777.9280395507813 1055.41162109375 778.0184326171875 L 1054.918701171875 778.2990112304688 C 1054.461547851563 778.5750122070313 1053.973022460938 778.846435546875 1053.448120117188 779.1404418945313 C 1052.248291015625 779.7666625976563 1051.107666015625 780.50146484375 1050.041259765625 781.3348999023438 C 1049.022338867188 782.1895141601563 1048.0712890625 783.1211547851563 1047.1953125 784.121826171875 L 1046.571044921875 784.8412475585938 L 1046.267700195313 785.1987915039063 L 1045.955688476563 785.5787963867188 C 1045.435791015625 786.232177734375 1045.005493164063 786.9519653320313 1044.675170898438 787.7188110351563 C 1044.064331054688 789.1077880859375 1043.784057617188 790.2886962890625 1043.431030273438 791.0624389648438 C 1043.0419921875 791.9854125976563 1042.40380859375 793.0712280273438 1041.897338867188 794.546142578125 C 1041.6181640625 795.3555297851563 1041.456665039063 796.201171875 1041.417602539063 797.0572509765625 C 1041.39111328125 797.9164428710938 1041.491943359375 798.774658203125 1041.71630859375 799.6044921875 C 1042.114501953125 801.1065673828125 1042.6572265625 802.2196044921875 1042.955932617188 803.1470947265625 C 1043.240966796875 803.9569091796875 1043.41748046875 805.1378173828125 1043.851318359375 806.5404663085938 C 1044.192138671875 807.7072143554688 1044.754516601563 808.7980346679688 1045.507202148438 809.7527465820313 C 1045.74267578125 810.055908203125 1045.982299804688 810.3363647460938 1046.217651367188 810.5988159179688 C 1047.1767578125 811.6439208984375 1048.113403320313 812.44482421875 1048.927734375 813.2094116210938 C 1049.294799804688 813.5531616210938 1049.801025390625 814.0554809570313 1050.280639648438 814.4717407226563 C 1050.760498046875 814.9014892578125 1051.248779296875 815.3132934570313 1051.742065429688 815.7068481445313 C 1052.235717773438 816.1005249023438 1052.728149414063 816.4806518554688 1053.225708007813 816.8516235351563 L 1053.932250976563 817.3763427734375 C 1054.095092773438 817.4940795898438 1054.271484375 817.6478881835938 1054.452392578125 817.8016967773438 C 1055.203002929688 818.457763671875 1056.058349609375 819.4033203125 1057.24365234375 820.3172607421875 C 1057.855712890625 820.7828369140625 1058.513671875 821.1846313476563 1059.207153320313 821.5162353515625 C 1059.854614257813 821.8284301757813 1060.75537109375 822.5484008789063 1060.75537109375 822.5484008789063 L 1062.225830078125 823.4816284179688 C 1062.479248046875 823.5812377929688 1063.050903320313 823.9099731445313 1063.281494140625 824.0094604492188 L 1065.08203125 824.9802856445313 C 1065.788940429688 825.4328002929688 1068.164184570313 822.0111694335938 1067.5986328125 820.7952880859375 Z">
				</path>
			</svg>
		</div>
		<svg class="___82" viewBox="876.331 673.281 16.557 24.268">
			<path fill="rgba(255,197,105,1)" id="___82" d="M 891.3667602539063 683.6823120117188 L 891.3637084960938 683.681884765625 L 890.4564208984375 683.5496215820313 C 889.4376831054688 683.0555419921875 888.36328125 683.01708984375 887.2628173828125 682.5148315429688 C 886.7496948242188 682.2803344726563 886.4933471679688 681.648681640625 886.3580932617188 680.904296875 C 886.3475952148438 680.6371459960938 886.3401489257813 680.3687744140625 886.3236083984375 680.1065063476563 C 886.2782592773438 679.2368774414063 886.2330932617188 678.4276733398438 886.2163696289063 677.55859375 C 886.1922607421875 676.6585083007813 886.1382446289063 675.7042846679688 886.024169921875 674.8115844726563 C 885.921875 674.0140991210938 885.2722778320313 673.36376953125 884.431640625 673.2885131835938 C 883.4603881835938 673.2011108398438 882.6014404296875 673.91064453125 882.51318359375 674.8732299804688 C 882.432373046875 675.7477416992188 882.3718872070313 676.5609741210938 882.2783203125 677.4273071289063 C 882.1922607421875 678.3238525390625 882.1417846679688 679.2825927734375 882.1300048828125 680.1800537109375 C 882.11865234375 680.59814453125 882.1116333007813 681.0074462890625 882.1036376953125 681.416748046875 C 881.9583740234375 681.9187622070313 881.762939453125 682.3789672851563 881.4628295898438 682.7005615234375 C 881.0045776367188 683.1919555664063 880.3136596679688 683.40771484375 879.6165771484375 683.5335693359375 C 878.9815673828125 683.50048828125 878.3595581054688 683.5330200195313 877.8025512695313 683.629150390625 C 877.0875244140625 683.7540283203125 876.4910278320313 684.3086547851563 876.3580322265625 685.0582275390625 C 876.1878051757813 686.0156860351563 876.8330078125 686.9288330078125 877.7991333007813 687.0972290039063 L 877.865234375 687.1088256835938 C 878.36181640625 687.1954345703125 878.7858276367188 687.2716064453125 879.1821899414063 687.3930053710938 C 879.99853515625 687.7695922851563 880.8624267578125 688.007568359375 881.6226196289063 688.5236206054688 C 882.9297485351563 689.4100952148438 882.671142578125 692.0093383789063 882.8178100585938 693.4423217773438 C 882.8348999023438 693.610595703125 882.8831787109375 693.7572021484375 882.9459228515625 693.8916015625 C 882.9437866210938 694.1190795898438 882.9446411132813 694.3501586914063 882.9539184570313 694.576171875 C 882.9708862304688 695.0634765625 883.0131225585938 695.5350952148438 883.0662841796875 695.9989624023438 C 883.1580200195313 696.8026123046875 883.8062744140625 697.461669921875 884.6516723632813 697.5413818359375 C 885.6212158203125 697.6331176757813 886.4819946289063 696.9279174804688 886.57421875 695.9671020507813 L 886.5771484375 695.9366455078125 C 886.6175537109375 695.516845703125 886.657958984375 695.1043090820313 886.7062377929688 694.708251953125 C 886.7562866210938 694.3095703125 886.81201171875 693.9359741210938 886.88525390625 693.5015258789063 C 886.9533081054688 693.0617065429688 887.0170288085938 692.55615234375 887.056884765625 692.0692749023438 C 887.0982666015625 691.5804443359375 887.1091918945313 691.1053466796875 887.1205444335938 690.6351318359375 C 887.1213989257813 690.5725708007813 887.1184692382813 690.5067749023438 887.1184692382813 690.4437866210938 C 887.3193969726563 689.4645385742188 887.6854248046875 688.5134887695313 888.5027465820313 687.9449462890625 C 889.1058349609375 687.525146484375 889.7703247070313 687.4682006835938 890.3787231445313 687.2958984375 C 890.7346801757813 687.2637329101563 891.0863037109375 687.2225341796875 891.4263916015625 687.1611938476563 C 892.1558837890625 687.0288696289063 892.7550048828125 686.4498291015625 892.8688354492188 685.6826171875 C 893.0113525390625 684.7189331054688 892.3389892578125 683.8231811523438 891.3667602539063 683.6823120117188 Z">
			</path>
		</svg>
		<svg class="___116" viewBox="539.223 379.228 5.697 8.304">
			<path fill="rgba(255,197,105,1)" id="___116" d="M 543.456787109375 384.7198486328125 C 543.651123046875 384.5508728027344 543.8627319335938 384.4396667480469 544.0562744140625 384.3040466308594 C 544.1146850585938 384.2917175292969 544.1732788085938 384.2798461914063 544.2318725585938 384.2653198242188 C 544.54443359375 384.1871643066406 544.8062744140625 383.9442138671875 544.8914184570313 383.6102294921875 C 545.0147094726563 383.1258544921875 544.7222290039063 382.6331481933594 544.2376708984375 382.5096130371094 C 544.0992431640625 382.4742736816406 543.9602661132813 382.4468383789063 543.8214111328125 382.4227600097656 C 543.5755004882813 382.28857421875 543.349609375 382.1095886230469 543.2637939453125 381.8448181152344 C 543.1598510742188 381.5235900878906 543.1632690429688 381.2041015625 543.0684814453125 380.8865051269531 C 543.04150390625 380.5842895507813 543.0071411132813 380.2818298339844 542.959716796875 379.9794006347656 C 542.9013061523438 379.6109313964844 542.6130981445313 379.3032531738281 542.2249145507813 379.2398071289063 C 541.7402954101563 379.160400390625 541.283203125 379.4889526367188 541.2039794921875 379.9735107421875 C 541.1465454101563 380.3246459960938 541.10693359375 380.675537109375 541.0760498046875 381.0266723632813 C 541.0479125976563 381.0997924804688 541.0302124023438 381.1817321777344 541.03076171875 381.2757873535156 C 541.0349731445313 381.7838745117188 540.753173828125 382.1953125 540.3328857421875 382.408935546875 C 540.1915893554688 382.4325866699219 540.0502319335938 382.4598693847656 539.908935546875 382.4951782226563 C 539.597900390625 382.57373046875 539.3372192382813 382.8155517578125 539.2516479492188 383.1480407714844 C 539.126953125 383.6324462890625 539.4185791015625 384.126220703125 539.9030151367188 384.2508850097656 C 539.94970703125 384.262939453125 539.9965209960938 384.2723999023438 540.04296875 384.2830200195313 C 540.2076416015625 384.3970642089844 540.4171752929688 384.432861328125 540.5545654296875 384.5749816894531 C 540.6954345703125 384.7207641601563 540.7714233398438 385.0071411132813 540.8505859375 385.1875305175781 L 541.0536499023438 385.6508178710938 C 541.0826416015625 386.0276184082031 541.1217041015625 386.4042358398438 541.1810913085938 386.7810974121094 C 541.239501953125 387.1491394042969 541.5272827148438 387.4563293457031 541.9152221679688 387.5201721191406 C 542.3997802734375 387.5998840332031 542.857177734375 387.2715454101563 542.9368286132813 386.7869873046875 C 542.9711303710938 386.5778503417969 542.9979858398438 386.3687133789063 543.02197265625 386.1595764160156 C 543.0597534179688 386.0781555175781 543.07861328125 385.9892578125 543.0673828125 385.8970642089844 C 543.0634765625 385.8636779785156 543.0619506835938 385.83056640625 543.0597534179688 385.7974548339844 C 543.074462890625 385.6354675292969 543.08740234375 385.4734802246094 543.098388671875 385.311279296875 C 543.1543579101563 385.0892333984375 543.2664794921875 384.8850708007813 543.456787109375 384.7198486328125 Z">
			</path>
		</svg>
		<svg class="___117" viewBox="539.223 379.228 5.697 8.304">
			<path fill="rgba(255,197,105,1)" id="___117" d="M 543.456787109375 384.7198486328125 C 543.651123046875 384.5508728027344 543.8627319335938 384.4396667480469 544.0562744140625 384.3040466308594 C 544.1146850585938 384.2917175292969 544.1732788085938 384.2798461914063 544.2318725585938 384.2653198242188 C 544.54443359375 384.1871643066406 544.8062744140625 383.9442138671875 544.8914184570313 383.6102294921875 C 545.0147094726563 383.1258544921875 544.7222290039063 382.6331481933594 544.2376708984375 382.5096130371094 C 544.0992431640625 382.4742736816406 543.9602661132813 382.4468383789063 543.8214111328125 382.4227600097656 C 543.5755004882813 382.28857421875 543.349609375 382.1095886230469 543.2637939453125 381.8448181152344 C 543.1598510742188 381.5235900878906 543.1632690429688 381.2041015625 543.0684814453125 380.8865051269531 C 543.04150390625 380.5842895507813 543.0071411132813 380.2818298339844 542.959716796875 379.9794006347656 C 542.9013061523438 379.6109313964844 542.6130981445313 379.3032531738281 542.2249145507813 379.2398071289063 C 541.7402954101563 379.160400390625 541.283203125 379.4889526367188 541.2039794921875 379.9735107421875 C 541.1465454101563 380.3246459960938 541.10693359375 380.675537109375 541.0760498046875 381.0266723632813 C 541.0479125976563 381.0997924804688 541.0302124023438 381.1817321777344 541.03076171875 381.2757873535156 C 541.0349731445313 381.7838745117188 540.753173828125 382.1953125 540.3328857421875 382.408935546875 C 540.1915893554688 382.4325866699219 540.0502319335938 382.4598693847656 539.908935546875 382.4951782226563 C 539.597900390625 382.57373046875 539.3372192382813 382.8155517578125 539.2516479492188 383.1480407714844 C 539.126953125 383.6324462890625 539.4185791015625 384.126220703125 539.9030151367188 384.2508850097656 C 539.94970703125 384.262939453125 539.9965209960938 384.2723999023438 540.04296875 384.2830200195313 C 540.2076416015625 384.3970642089844 540.4171752929688 384.432861328125 540.5545654296875 384.5749816894531 C 540.6954345703125 384.7207641601563 540.7714233398438 385.0071411132813 540.8505859375 385.1875305175781 L 541.0536499023438 385.6508178710938 C 541.0826416015625 386.0276184082031 541.1217041015625 386.4042358398438 541.1810913085938 386.7810974121094 C 541.239501953125 387.1491394042969 541.5272827148438 387.4563293457031 541.9152221679688 387.5201721191406 C 542.3997802734375 387.5998840332031 542.857177734375 387.2715454101563 542.9368286132813 386.7869873046875 C 542.9711303710938 386.5778503417969 542.9979858398438 386.3687133789063 543.02197265625 386.1595764160156 C 543.0597534179688 386.0781555175781 543.07861328125 385.9892578125 543.0673828125 385.8970642089844 C 543.0634765625 385.8636779785156 543.0619506835938 385.83056640625 543.0597534179688 385.7974548339844 C 543.074462890625 385.6354675292969 543.08740234375 385.4734802246094 543.098388671875 385.311279296875 C 543.1543579101563 385.0892333984375 543.2664794921875 384.8850708007813 543.456787109375 384.7198486328125 Z">
			</path>
		</svg>
		<svg class="___118" viewBox="539.223 379.228 5.697 8.304">
			<path fill="rgba(255,197,105,1)" id="___118" d="M 543.456787109375 384.7198486328125 C 543.651123046875 384.5508728027344 543.8627319335938 384.4396667480469 544.0562744140625 384.3040466308594 C 544.1146850585938 384.2917175292969 544.1732788085938 384.2798461914063 544.2318725585938 384.2653198242188 C 544.54443359375 384.1871643066406 544.8062744140625 383.9442138671875 544.8914184570313 383.6102294921875 C 545.0147094726563 383.1258544921875 544.7222290039063 382.6331481933594 544.2376708984375 382.5096130371094 C 544.0992431640625 382.4742736816406 543.9602661132813 382.4468383789063 543.8214111328125 382.4227600097656 C 543.5755004882813 382.28857421875 543.349609375 382.1095886230469 543.2637939453125 381.8448181152344 C 543.1598510742188 381.5235900878906 543.1632690429688 381.2041015625 543.0684814453125 380.8865051269531 C 543.04150390625 380.5842895507813 543.0071411132813 380.2818298339844 542.959716796875 379.9794006347656 C 542.9013061523438 379.6109313964844 542.6130981445313 379.3032531738281 542.2249145507813 379.2398071289063 C 541.7402954101563 379.160400390625 541.283203125 379.4889526367188 541.2039794921875 379.9735107421875 C 541.1465454101563 380.3246459960938 541.10693359375 380.675537109375 541.0760498046875 381.0266723632813 C 541.0479125976563 381.0997924804688 541.0302124023438 381.1817321777344 541.03076171875 381.2757873535156 C 541.0349731445313 381.7838745117188 540.753173828125 382.1953125 540.3328857421875 382.408935546875 C 540.1915893554688 382.4325866699219 540.0502319335938 382.4598693847656 539.908935546875 382.4951782226563 C 539.597900390625 382.57373046875 539.3372192382813 382.8155517578125 539.2516479492188 383.1480407714844 C 539.126953125 383.6324462890625 539.4185791015625 384.126220703125 539.9030151367188 384.2508850097656 C 539.94970703125 384.262939453125 539.9965209960938 384.2723999023438 540.04296875 384.2830200195313 C 540.2076416015625 384.3970642089844 540.4171752929688 384.432861328125 540.5545654296875 384.5749816894531 C 540.6954345703125 384.7207641601563 540.7714233398438 385.0071411132813 540.8505859375 385.1875305175781 L 541.0536499023438 385.6508178710938 C 541.0826416015625 386.0276184082031 541.1217041015625 386.4042358398438 541.1810913085938 386.7810974121094 C 541.239501953125 387.1491394042969 541.5272827148438 387.4563293457031 541.9152221679688 387.5201721191406 C 542.3997802734375 387.5998840332031 542.857177734375 387.2715454101563 542.9368286132813 386.7869873046875 C 542.9711303710938 386.5778503417969 542.9979858398438 386.3687133789063 543.02197265625 386.1595764160156 C 543.0597534179688 386.0781555175781 543.07861328125 385.9892578125 543.0673828125 385.8970642089844 C 543.0634765625 385.8636779785156 543.0619506835938 385.83056640625 543.0597534179688 385.7974548339844 C 543.074462890625 385.6354675292969 543.08740234375 385.4734802246094 543.098388671875 385.311279296875 C 543.1543579101563 385.0892333984375 543.2664794921875 384.8850708007813 543.456787109375 384.7198486328125 Z">
			</path>
		</svg>
		<svg class="___119" viewBox="539.223 379.228 5.697 8.304">
			<path fill="rgba(255,197,105,1)" id="___119" d="M 543.456787109375 384.7198486328125 C 543.651123046875 384.5508728027344 543.8627319335938 384.4396667480469 544.0562744140625 384.3040466308594 C 544.1146850585938 384.2917175292969 544.1732788085938 384.2798461914063 544.2318725585938 384.2653198242188 C 544.54443359375 384.1871643066406 544.8062744140625 383.9442138671875 544.8914184570313 383.6102294921875 C 545.0147094726563 383.1258544921875 544.7222290039063 382.6331481933594 544.2376708984375 382.5096130371094 C 544.0992431640625 382.4742736816406 543.9602661132813 382.4468383789063 543.8214111328125 382.4227600097656 C 543.5755004882813 382.28857421875 543.349609375 382.1095886230469 543.2637939453125 381.8448181152344 C 543.1598510742188 381.5235900878906 543.1632690429688 381.2041015625 543.0684814453125 380.8865051269531 C 543.04150390625 380.5842895507813 543.0071411132813 380.2818298339844 542.959716796875 379.9794006347656 C 542.9013061523438 379.6109313964844 542.6130981445313 379.3032531738281 542.2249145507813 379.2398071289063 C 541.7402954101563 379.160400390625 541.283203125 379.4889526367188 541.2039794921875 379.9735107421875 C 541.1465454101563 380.3246459960938 541.10693359375 380.675537109375 541.0760498046875 381.0266723632813 C 541.0479125976563 381.0997924804688 541.0302124023438 381.1817321777344 541.03076171875 381.2757873535156 C 541.0349731445313 381.7838745117188 540.753173828125 382.1953125 540.3328857421875 382.408935546875 C 540.1915893554688 382.4325866699219 540.0502319335938 382.4598693847656 539.908935546875 382.4951782226563 C 539.597900390625 382.57373046875 539.3372192382813 382.8155517578125 539.2516479492188 383.1480407714844 C 539.126953125 383.6324462890625 539.4185791015625 384.126220703125 539.9030151367188 384.2508850097656 C 539.94970703125 384.262939453125 539.9965209960938 384.2723999023438 540.04296875 384.2830200195313 C 540.2076416015625 384.3970642089844 540.4171752929688 384.432861328125 540.5545654296875 384.5749816894531 C 540.6954345703125 384.7207641601563 540.7714233398438 385.0071411132813 540.8505859375 385.1875305175781 L 541.0536499023438 385.6508178710938 C 541.0826416015625 386.0276184082031 541.1217041015625 386.4042358398438 541.1810913085938 386.7810974121094 C 541.239501953125 387.1491394042969 541.5272827148438 387.4563293457031 541.9152221679688 387.5201721191406 C 542.3997802734375 387.5998840332031 542.857177734375 387.2715454101563 542.9368286132813 386.7869873046875 C 542.9711303710938 386.5778503417969 542.9979858398438 386.3687133789063 543.02197265625 386.1595764160156 C 543.0597534179688 386.0781555175781 543.07861328125 385.9892578125 543.0673828125 385.8970642089844 C 543.0634765625 385.8636779785156 543.0619506835938 385.83056640625 543.0597534179688 385.7974548339844 C 543.074462890625 385.6354675292969 543.08740234375 385.4734802246094 543.098388671875 385.311279296875 C 543.1543579101563 385.0892333984375 543.2664794921875 384.8850708007813 543.456787109375 384.7198486328125 Z">
			</path>
		</svg>
		<svg class="___120" viewBox="539.223 379.228 5.697 8.304">
			<path fill="rgba(255,197,105,1)" id="___120" d="M 543.456787109375 384.7198486328125 C 543.651123046875 384.5508728027344 543.8627319335938 384.4396667480469 544.0562744140625 384.3040466308594 C 544.1146850585938 384.2917175292969 544.1732788085938 384.2798461914063 544.2318725585938 384.2653198242188 C 544.54443359375 384.1871643066406 544.8062744140625 383.9442138671875 544.8914184570313 383.6102294921875 C 545.0147094726563 383.1258544921875 544.7222290039063 382.6331481933594 544.2376708984375 382.5096130371094 C 544.0992431640625 382.4742736816406 543.9602661132813 382.4468383789063 543.8214111328125 382.4227600097656 C 543.5755004882813 382.28857421875 543.349609375 382.1095886230469 543.2637939453125 381.8448181152344 C 543.1598510742188 381.5235900878906 543.1632690429688 381.2041015625 543.0684814453125 380.8865051269531 C 543.04150390625 380.5842895507813 543.0071411132813 380.2818298339844 542.959716796875 379.9794006347656 C 542.9013061523438 379.6109313964844 542.6130981445313 379.3032531738281 542.2249145507813 379.2398071289063 C 541.7402954101563 379.160400390625 541.283203125 379.4889526367188 541.2039794921875 379.9735107421875 C 541.1465454101563 380.3246459960938 541.10693359375 380.675537109375 541.0760498046875 381.0266723632813 C 541.0479125976563 381.0997924804688 541.0302124023438 381.1817321777344 541.03076171875 381.2757873535156 C 541.0349731445313 381.7838745117188 540.753173828125 382.1953125 540.3328857421875 382.408935546875 C 540.1915893554688 382.4325866699219 540.0502319335938 382.4598693847656 539.908935546875 382.4951782226563 C 539.597900390625 382.57373046875 539.3372192382813 382.8155517578125 539.2516479492188 383.1480407714844 C 539.126953125 383.6324462890625 539.4185791015625 384.126220703125 539.9030151367188 384.2508850097656 C 539.94970703125 384.262939453125 539.9965209960938 384.2723999023438 540.04296875 384.2830200195313 C 540.2076416015625 384.3970642089844 540.4171752929688 384.432861328125 540.5545654296875 384.5749816894531 C 540.6954345703125 384.7207641601563 540.7714233398438 385.0071411132813 540.8505859375 385.1875305175781 L 541.0536499023438 385.6508178710938 C 541.0826416015625 386.0276184082031 541.1217041015625 386.4042358398438 541.1810913085938 386.7810974121094 C 541.239501953125 387.1491394042969 541.5272827148438 387.4563293457031 541.9152221679688 387.5201721191406 C 542.3997802734375 387.5998840332031 542.857177734375 387.2715454101563 542.9368286132813 386.7869873046875 C 542.9711303710938 386.5778503417969 542.9979858398438 386.3687133789063 543.02197265625 386.1595764160156 C 543.0597534179688 386.0781555175781 543.07861328125 385.9892578125 543.0673828125 385.8970642089844 C 543.0634765625 385.8636779785156 543.0619506835938 385.83056640625 543.0597534179688 385.7974548339844 C 543.074462890625 385.6354675292969 543.08740234375 385.4734802246094 543.098388671875 385.311279296875 C 543.1543579101563 385.0892333984375 543.2664794921875 384.8850708007813 543.456787109375 384.7198486328125 Z">
			</path>
		</svg>
		<div id="__42">
			<svg class="___14" viewBox="0 0 15.116 11.967">
				<path fill="transparent" stroke="rgba(112,112,112,1)" stroke-width="5px" stroke-linejoin="miter" stroke-linecap="round" stroke-miterlimit="4" shape-rendering="auto" id="___14" d="M 15.11623191833496 11.96692657470703 L 0 0">
				</path>
			</svg>
			<svg class="___20" viewBox="0 0 15.116 11.967">
				<path fill="transparent" stroke="rgba(112,112,112,1)" stroke-width="5px" stroke-linejoin="miter" stroke-linecap="round" stroke-miterlimit="4" shape-rendering="auto" id="___20" d="M 15.11623191833496 11.96692657470703 L 0 0">
				</path>
			</svg>
			<svg class="___17" viewBox="0 0 33.36 26.015">
				<path fill="transparent" stroke="rgba(112,112,112,1)" stroke-width="5px" stroke-linejoin="miter" stroke-linecap="round" stroke-miterlimit="4" shape-rendering="auto" id="___17" d="M 33.36003494262695 26.01496696472168 L 0 0">
				</path>
			</svg>
			<svg class="___15" viewBox="0 0 3.127 2.602">
				<path fill="transparent" stroke="rgba(112,112,112,1)" stroke-width="5px" stroke-linejoin="miter" stroke-linecap="round" stroke-miterlimit="4" shape-rendering="auto" id="___15" d="M 3.127472877502441 2.601535320281982 L 0 0">
				</path>
			</svg>
			<svg class="___19" viewBox="0 0 3.127 2.602">
				<path fill="transparent" stroke="rgba(112,112,112,1)" stroke-width="5px" stroke-linejoin="miter" stroke-linecap="round" stroke-miterlimit="4" shape-rendering="auto" id="___19" d="M 3.127472877502441 2.601535320281982 L 0 0">
				</path>
			</svg>
			<div id="__41">
				<div id="__35">
					<svg class="___62" viewBox="0 0 11.394 5.847">
						<path fill="rgba(185,148,255,1)" id="___62" d="M 0.7583284378051758 5.610059261322021 C 1.243545174598694 5.791426181793213 1.809176564216614 5.830861568450928 2.34772253036499 5.846174716949463 L 2.366049528121948 5.84675407409668 L 2.38447093963623 5.845712184906006 C 2.900249481201172 5.808890342712402 3.403888463973999 5.814218997955322 3.890536546707153 5.818618297576904 L 4.004601955413818 5.819803714752197 C 4.483486652374268 5.824931144714355 4.935548782348633 5.828810214996338 5.389858245849609 5.798288345336914 C 6.740470409393311 5.703763008117676 8.421720504760742 5.586326599121094 9.526660919189453 5.193209648132324 C 10.00376415252686 5.02476692199707 10.86763572692871 4.581437587738037 11.28981590270996 3.5036461353302 L 11.32971286773682 3.237272262573242 C 11.41754531860352 2.409199476242065 11.55009269714355 1.157767176628113 10.68939971923828 0.5354813933372498 C 10.06641387939453 0.08751706033945084 9.094544410705566 0.06759915500879288 8.236773490905762 0.04985066130757332 C 7.987037658691406 0.04483697190880775 7.752254962921143 0.04040046036243439 7.551004886627197 0.02339675277471542 L 7.415454864501953 -1.790636120825063e-16 L 7.372374057769775 0.003542257938534021 C 6.426980018615723 0.07585019618272781 5.435872077941895 0.1736178547143936 4.618348598480225 0.5018460154533386 L 4.302799224853516 0.6295263767242432 C 3.152068138122559 1.091178059577942 1.962366104125977 1.56853973865509 1.132815480232239 2.250730752944946 C 0.7164512872695923 2.597146511077881 0.3992048799991608 3.138639688491821 0.1176867336034775 3.672650337219238 L 0.08590200543403625 3.763076066970825 C -0.01582157611846924 4.282443523406982 -0.2044360488653183 5.249042987823486 0.7583284378051758 5.610059261322021 Z">
						</path>
					</svg>
					<svg class="___63" viewBox="0 0 22.508 16.845">
						<path fill="rgba(185,148,255,1)" id="___63" d="M 7.134119510650635 12.9821081161499 C 8.148253440856934 12.06602668762207 9.541162490844727 10.9465274810791 11.32401752471924 10.41680526733398 C 12.29078102111816 10.13278579711914 13.33330917358398 9.968106269836426 14.25351142883301 9.822473526000977 C 14.82148170471191 9.732495307922363 15.33288669586182 9.649832725524902 15.83413124084473 9.547029495239258 C 17.18149566650391 9.275918006896973 18.70814323425293 8.968688011169434 19.91447639465332 8.468747138977051 C 20.97192573547363 8.03368091583252 21.62716865539551 7.573660373687744 22.05704879760742 6.951142311096191 C 22.79553985595703 5.641575813293457 22.47602081298828 4.12368631362915 22.16242980957031 3.069486379623413 C 22.00822830200195 2.67718505859375 21.78917694091797 2.181019067764282 21.46285820007324 1.823472142219543 C 21.26452255249023 1.601833581924438 21.01897048950195 1.376779437065125 20.69049072265625 1.119992971420288 L 20.55768585205078 1.030524253845215 C 19.82328605651855 0.536141574382782 19.00197410583496 -0.02729961648583412 18.00619697570801 0.001026206533424556 C 16.74627304077148 0.03761128708720207 16.33962821960449 1.210641860961914 16.04269790649414 2.067164897918701 C 15.98408794403076 2.235915899276733 15.92760848999023 2.399584770202637 15.86978530883789 2.542033910751343 C 15.84056663513184 2.610224723815918 15.80075359344482 2.675108432769775 15.74430751800537 2.746465682983398 L 15.70379257202148 2.811984300613403 C 15.13167953491211 4.031270503997803 14.10300731658936 4.954460620880127 12.80744361877441 5.411359786987305 C 11.50449848175049 5.872384548187256 9.953102111816406 6.008800029754639 8.059157371520996 6.139309406280518 C 7.566700458526611 6.174679279327393 7.072607040405273 6.170943260192871 6.592990875244141 6.165846347808838 L 6.48070764541626 6.1649489402771 C 5.550140380859375 6.154987335205078 4.672138214111328 6.1451096534729 3.914335250854492 6.388164043426514 C 2.462263107299805 6.85046911239624 1.457351446151733 7.490156650543213 0.751558244228363 8.402313232421875 C 0.4238974750041962 8.82827091217041 0.2454072386026382 9.459487915039063 0.07351608574390411 10.30303382873535 C -0.08512119203805923 11.6368579864502 0.01320662349462509 12.9931697845459 0.3662905693054199 14.33438777923584 L 0.3844448626041412 14.38550472259521 C 0.6641521453857422 15.00443649291992 1.121057510375977 15.55659770965576 1.531348824501038 16.01522064208984 L 1.581321954727173 16.07063674926758 L 1.650727033615112 16.10134696960449 C 1.727959990501404 16.13574600219727 1.794505834579468 16.1795768737793 1.855711698532104 16.23801803588867 C 2.290291786193848 16.64296531677246 2.82381534576416 16.84700012207031 3.346923828125 16.84483528137207 C 3.801466703414917 16.84296989440918 4.247807025909424 16.68512725830078 4.612509727478027 16.36855125427246 C 4.737959384918213 16.26119613647461 4.83343505859375 16.1502742767334 4.920003414154053 16.04544448852539 L 4.957245826721191 16.00079536437988 L 4.976921558380127 15.94711685180664 C 5.477556705474854 14.59070491790771 6.392538070678711 13.65003490447998 7.134119510650635 12.9821081161499 Z">
						</path>
					</svg>
					<svg class="___64" viewBox="0 0 17.212 11.734">
						<path fill="rgba(185,148,255,1)" id="___64" d="M 17.18625640869141 1.04160487651825 C 17.10961723327637 0.7945975661277771 16.97059059143066 0.5835584402084351 16.77278900146484 0.4114751219749451 C 16.29098701477051 -0.003084181807935238 15.59704303741455 -0.1030155122280121 14.65071296691895 0.1054406091570854 L 14.57289505004883 0.1320323944091797 C 14.37019348144531 0.2282734811306 14.17094898223877 0.3140012621879578 13.9837646484375 0.3905531167984009 C 12.58856010437012 0.9695234894752502 10.94699859619141 1.299805283546448 9.496772766113281 1.591941475868225 C 8.917773246765137 1.71190357208252 8.311683654785156 1.806029796600342 7.823984146118164 1.882218956947327 C 6.927039623260498 2.025731563568115 5.999300003051758 2.173839330673218 5.179676532745361 2.415409803390503 C 3.825037240982056 2.81463098526001 2.723744869232178 3.699389934539795 1.825165152549744 4.511573791503906 C 1.06660008430481 5.195727825164795 0.26069575548172 6.0705246925354 0.03138460963964462 7.383450508117676 C -0.2664186656475067 9.519502639770508 1.611638426780701 10.32798671722412 3.269038677215576 11.04166507720947 C 3.54551100730896 11.16047096252441 3.82016921043396 11.27867698669434 4.083120822906494 11.40227890014648 L 4.138108730316162 11.42262744903564 C 4.803858757019043 11.61060333251953 5.369458198547363 11.7363452911377 5.900680541992188 11.73415470123291 C 5.981178283691406 11.73383522033691 6.061420917510986 11.73046493530273 6.140865802764893 11.72372722625732 C 7.029751300811768 11.64730167388916 7.914324283599854 11.25712203979492 8.84941577911377 10.84450435638428 L 8.959802627563477 10.79616260528564 C 9.244684219360352 10.67063236236572 9.52663516998291 10.54681491851807 9.804330825805664 10.43376731872559 C 11.18786430358887 9.879819869995117 12.23635387420654 9.287732124328613 13.10315036773682 8.571502685546875 C 14.13855743408203 7.717310428619385 14.98647308349609 6.781348705291748 15.62233352661133 5.788609504699707 C 16.27167892456055 4.776305675506592 16.60246849060059 3.585681438446045 16.91084098815918 2.352991580963135 L 17.00631713867188 1.974535346031189 C 17.07052612304688 1.717795014381409 17.13445281982422 1.463405013084412 17.19233131408691 1.20879077911377 L 17.21170997619629 1.124046564102173 L 17.18625640869141 1.04160487651825 Z">
						</path>
					</svg>
				</div>
				<svg class="___99" viewBox="0 0 31 29.698">
					<path fill="rgba(0,52,114,1)" id="___99" d="M 30.97358131408691 13.3971643447876 C 30.85557556152344 12.00253486633301 30.30585479736328 10.82528495788574 29.82268333435059 9.785889625549316 C 29.70356941223145 9.537025451660156 29.58798408508301 9.291496276855469 29.48305320739746 9.042572975158691 C 29.33609199523926 8.706183433532715 29.20691108703613 8.33266544342041 29.07081031799316 7.938942909240723 C 28.72160148620605 6.932694911956787 28.32713317871094 5.788569450378418 27.46221733093262 4.831661224365234 C 26.38273239135742 3.636398553848267 24.97330856323242 2.823256731033325 23.72953605651855 2.103883743286133 L 23.58152198791504 2.020222663879395 C 21.95366096496582 1.079969882965088 20.53973960876465 0.4960167706012726 19.1283073425293 0.1850922107696533 C 17.7450008392334 -0.1192466616630554 16.41654586791992 0.01426315866410732 15.13397216796875 0.1441681981086731 C 14.85485076904297 0.1723392456769943 14.57569122314453 0.2003832161426544 14.29306602478027 0.2251858711242676 C 14.08457183837891 0.2428678572177887 13.87617588043213 0.2572144865989685 13.66774368286133 0.2715928554534912 C 12.31462097167969 0.3747891187667847 10.91564846038818 0.4783501029014587 9.539525985717773 1.033280491828918 L 9.235301971435547 1.155882596969604 C 7.915803909301758 1.683641910552979 6.422958374023438 2.282843589782715 5.207484245300293 3.28541374206543 C 4.197519779205322 4.118553638458252 3.645781278610229 5.195852756500244 3.16161036491394 6.148209095001221 C 2.962226152420044 6.543306350708008 2.773523807525635 6.91477108001709 2.56743049621582 7.232386112213135 C 1.653960824012756 8.661711692810059 1.062286734580994 9.988454818725586 0.7069258093833923 11.41883850097656 C 0.66025310754776 11.60433578491211 0.6100485324859619 11.78989410400391 0.5633758902549744 11.97548389434814 C 0.2549190521240234 13.15620517730713 -0.09662487357854843 14.49554824829102 0.02449536509811878 15.97108745574951 C 0.1425025910139084 17.37251472473145 0.3478061854839325 19.00947952270508 1.009200096130371 20.52666473388672 C 1.572516560554504 21.82170486450195 2.511520624160767 22.81882476806641 3.334379911422729 23.69831085205078 C 3.51377010345459 23.88633155822754 3.689597606658936 24.07432174682617 3.858424663543701 24.26237106323242 C 4.881569385528564 25.39042854309082 6.074938297271729 26.34599494934082 7.512618541717529 27.17579650878906 C 8.788154602050781 27.91198539733887 10.19877624511719 28.43523406982422 11.94902801513672 28.81895446777344 C 12.29125118255615 28.89506530761719 12.6616735458374 29.0047607421875 13.04969787597656 29.11772727966309 C 13.99512481689453 29.3935432434082 15.05344867706299 29.70259475708008 16.22951126098633 29.69774627685547 C 16.39556884765625 29.69707489013672 16.56505393981934 29.68963813781738 16.73470497131348 29.67546463012695 C 18.17614364624023 29.55496215820313 19.41446876525879 29.01062393188477 20.50423240661621 28.52763366699219 C 20.79435539245605 28.40178298950195 21.08092498779297 28.27253913879395 21.36746025085449 28.16012763977051 C 23.06902503967285 27.47240257263184 24.38593673706055 26.71885299682617 25.51275444030762 25.79420280456543 C 26.80262565612793 24.72736740112305 27.86691284179688 23.54688835144043 28.67378425598145 22.28661155700684 C 29.56588935852051 20.89110946655273 29.98873901367188 19.38969421386719 30.34410095214844 17.96613693237305 L 30.4158763885498 17.68951606750488 C 30.7388744354248 16.41763114929199 31.10135650634766 14.97050762176514 30.97358131408691 13.3971643447876 Z M 6.572854518890381 7.145138740539551 C 6.857584476470947 6.604776382446289 7.149112224578857 6.12175464630127 7.503481388092041 5.827032566070557 C 8.290156364440918 5.180086612701416 9.453993797302246 4.713674545288086 10.58248710632324 4.260846138000488 L 10.89377498626709 4.134848117828369 C 11.64022827148438 3.835182666778564 12.55888748168945 3.737103939056396 13.53750038146973 3.662266254425049 C 13.57985210418701 3.668857336044312 13.61517238616943 3.678781032562256 13.65749073028564 3.68197226524353 C 14.49777889251709 3.752668619155884 15.90752696990967 3.618806838989258 16.61539268493652 4.128141403198242 C 17.37596321105957 4.677711009979248 17.17669677734375 5.932137012481689 17.09934616088867 6.710944652557373 C 16.73540306091309 7.639266490936279 16.00979232788086 8.03642749786377 15.54636859893799 8.200108528137207 C 14.48180103302002 8.578533172607422 12.81785678863525 8.693243026733398 11.48245143890381 8.786408424377441 C 11.05855941772461 8.815035820007324 10.60296630859375 8.810235023498535 10.12268161773682 8.805421829223633 C 9.610610961914063 8.800789833068848 9.06315803527832 8.792906761169434 8.501468658447266 8.832315444946289 C 7.989394187927246 8.817550659179688 7.466813564300537 8.782641410827637 7.029552936553955 8.619336128234863 C 6.363078594207764 8.369288444519043 6.461001396179199 7.718568325042725 6.572854518890381 7.145138740539551 Z M 8.226922988891602 20.8372688293457 C 8.14531421661377 20.93539428710938 8.063702583312988 21.03009033203125 7.960902690887451 21.11814117431641 C 7.266261100769043 21.7208423614502 6.320250988006592 21.58657073974609 5.686935901641846 20.99603652954102 C 5.591928482055664 20.90547180175781 5.489802360534668 20.84187316894531 5.38396167755127 20.79513549804688 C 4.930477142333984 20.28808975219727 4.533373355865479 19.78423309326172 4.291844844818115 19.24937057495117 C 3.954436540603638 17.96682548522949 3.850273847579956 16.6630859375 4.007482528686523 15.33802890777588 C 4.158761501312256 14.59933662414551 4.327296733856201 13.9785680770874 4.618416786193848 13.5999584197998 C 5.275266170501709 12.75141048431396 6.224160194396973 12.14769458770752 7.606879234313965 11.70721912384033 C 8.310629844665527 11.48187255859375 9.161778450012207 11.49193000793457 10.06587219238281 11.50165939331055 C 10.58503723144531 11.50629329681396 11.1218318939209 11.51414203643799 11.66592597961426 11.47485256195068 C 13.59121227264404 11.34228706359863 15.17050743103027 11.20095920562744 16.5109977722168 10.72698593139648 C 17.92220497131348 10.2291841506958 19.0034122467041 9.237335205078125 19.60903930664063 7.9474778175354 C 19.67289733886719 7.866400718688965 19.73338317871094 7.775161743164063 19.77973365783691 7.667141914367676 C 20.13999938964844 6.779287815093994 20.37519264221191 5.373097896575928 21.597412109375 5.337674617767334 C 22.51930999755859 5.313674449920654 23.34331130981445 5.910152435302734 24.06888961791992 6.395797729492188 C 24.32941436767578 6.600335121154785 24.57229232788086 6.814970016479492 24.77616691589355 7.043344497680664 C 25.03993988037109 7.332033157348633 25.23607444763184 7.73562479019165 25.41432189941406 8.189846992492676 C 25.78366661071777 9.435233116149902 25.94098091125488 10.70840454101563 25.32914352416992 11.79276371002197 C 24.95259475708008 12.3368091583252 24.33635139465332 12.75723171234131 23.35998725891113 13.15890693664551 C 22.20308685302734 13.63885498046875 20.75032043457031 13.93464374542236 19.34708976745605 14.21675777435303 C 18.84511375427246 14.31991291046143 18.32916069030762 14.40288829803467 17.78139305114746 14.48944282531738 C 16.79886054992676 14.64515590667725 15.78108310699463 14.80764961242676 14.8051872253418 15.09478282928467 C 12.95224952697754 15.6449670791626 11.51725482940674 16.79666328430176 10.47503566741943 17.73775672912598 C 9.659820556640625 18.47246742248535 8.737598419189453 19.45354270935059 8.226922988891602 20.8372688293457 Z M 26.98247718811035 16.92516708374023 L 26.91067504882813 17.20849227905273 C 26.60919189453125 18.41281509399414 26.28663635253906 19.57682418823242 25.66467094421387 20.54660415649414 C 25.04976081848145 21.50615119934082 24.22672462463379 22.41610717773438 23.21675491333008 23.24921607971191 C 22.38049697875977 23.9401683807373 21.36455535888672 24.51387977600098 20.01321220397949 25.05525970458984 C 19.69476699829102 25.18465042114258 19.37286186218262 25.32744789123535 19.04732322692871 25.47034454345703 C 18.13803482055664 25.87178802490234 17.27827262878418 26.24930191040039 16.45508766174316 26.32009696960449 C 15.88980484008789 26.36624336242676 15.25464820861816 26.22059059143066 14.58437919616699 26.03124618530273 C 12.775954246521 25.18269729614258 10.4157133102417 24.57236099243164 10.72481536865234 22.35702133178711 C 10.93088340759277 21.17664337158203 11.64759635925293 20.37503814697266 12.40969276428223 19.68780517578125 C 13.27818489074707 18.90238571166992 14.33761787414551 18.04880905151367 15.62471294403076 17.66938018798828 C 16.4132251739502 17.43701362609863 17.29323577880859 17.29524230957031 18.22270202636719 17.14653205871582 C 18.77760124206543 17.06001091003418 19.3465576171875 16.96996879577637 19.91209983825684 16.8531494140625 C 21.38249397277832 16.55720520019531 23.04737281799316 16.2201976776123 24.46602249145508 15.63129329681396 C 24.65702247619629 15.55296516418457 24.86221313476563 15.46450805664063 25.07102966308594 15.3659496307373 C 25.72499084472656 15.22171306610107 26.41025924682617 15.19197368621826 26.87836837768555 15.59436225891113 C 27.03674507141113 15.73193264007568 27.13501739501953 15.89327526092529 27.19076156616211 16.0716609954834 C 27.12605857849121 16.35505676269531 27.05431365966797 16.63838005065918 26.98247718811035 16.92516708374023 Z">
					</path>
				</svg>
			</div>
		</div>
	</div>
	<div id="__658">
<!--		<svg class="___42">-->
<!--			<rect fill="rgba(234,32,32,1)" id="___42" rx="20.5" ry="20.5" x="0" y="0" width="130" height="41">-->
<!--			</rect>-->
<!--		</svg>-->
<!--		<a href="https://www.16huixuan.com">-->
<!--			<div id="____">-->
<!--				<span>返回首页</span>-->
<!--			</div>-->
<!--		</a>-->
	</div>
</div>
</body>
</html>